AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Information dynamisch aus DLL (about-box)

Ein Thema von myicq · begonnen am 6. Jun 2017 · letzter Beitrag vom 6. Jun 2017
Antwort Antwort
myicq

Registriert seit: 5. Jan 2016
70 Beiträge
 
Delphi 6 Professional
 
#1

Information dynamisch aus DLL (about-box)

  Alt 6. Jun 2017, 10:15
Ich wurde vom Kunden gefragt : kann ich eigene Kontaktdetails in About-Box haben ?

Das ist natürlich mit sonder-Version möglich, wo ich vor dem Compile die Versionen ändere.

Aber.. mit über 200 Kunden die das potentielle auch mögen relativ umfangreich.

Kann ich diese Information (logo, 2-5 Zeilen) aus eine DLL holen, so das ich einfach eine DLL am Kunden sende, und damit
die information sich automatisch ändere (muss nicht unbedingt DLL sein, aber nur nicht einfach Logo + textdatei).
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Information dynamisch aus DLL (about-box)

  Alt 6. Jun 2017, 10:31
Jap, das geht.

Such mal nach dem Stichwort "Resource-dll" Da solltest du einiges dazu finden.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Information dynamisch aus DLL (about-box)

  Alt 6. Jun 2017, 10:46
Erstmal kann man natürlich auch sowas wie eine TXE, INI, XML oder Sonstwas verwenden.
Oder es in der Registry speichern.

Dann natürlich eine DLL mit einer/mehreren Funktion, welche dir diese Daten liefern.
* dynamisch geladen, falls sie beim Kunden existiert
* oder bei allen Kunden soeine DLL und bei diesem Kunden dann eine angepasste DLL

Und es geht auch über DLL-Resourcen (z.B. TResourceStream)
Dafü gibt es auch LoadLibraryEx + LOAD_LIBRARY_AS_DATAFILE, wenn diese DLL sonst keine weiteren Funktionen beinhaltet.


Da das Logo so oder so in die Ressourcen rein muß, wäre es fast egal, ob man diese Ressource innerhalb oder außerhalb der DLL ausließt, aber bezüglich RTTI/Speichermanagement und da man standardmäßig keine Klassen ala TBitmap/TIcon über DLL-Grenzen durchreichen darf, würde es sich von außerhalb besser gestalten.
$2B or not $2B
  Mit Zitat antworten Zitat
myicq

Registriert seit: 5. Jan 2016
70 Beiträge
 
Delphi 6 Professional
 
#4

AW: Information dynamisch aus DLL (about-box)

  Alt 6. Jun 2017, 10:58
OK, werde ich alles untersuchen.

Ich habe leider nur D6, und deshalb keine RTTI.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: Information dynamisch aus DLL (about-box)

  Alt 6. Jun 2017, 12:26
RTTI hast du auch (TypInfo.pas)
Die "erweiterte" RTTI wurde später hinzugefügt.

Aber nicht du sollst die RTTI nutzen, sondern Klassen nutzen sie zur Speicherverwaltung. DLL und EXE haben je ihre eigene RTTI (wenn man nicht mit Laufzeitpackages kompiliert), was schnell schief gehen kann.
TObject der DLL ist ein "Anderes", als das der EXE. Mit Runtime-Packages liegt die "gemeinsame" RTTI der Klasse dann in den gemeinsam genutzten Packages (TObject liegt da in der RTLxxx.bpl)
Wenn in der EXE oder DLL die Codeoptimierung z.B. unbenutzte Felder/Methoden entfernt, dann stimmen die Speichergrößen/-positionen nicht überein und es knallt schnell mal.

Darum geben keine Objekte mit DLLs sharen.
Und bei Strings oder dynamischen Array muß man auch erst einen Shared-Memory-Manager einbinden, da DLL und EXE sonst jetzt ihren eigenen Speichermanager besitzen und es knallt, wenn der falsche Manager dann den fremden Speicher versucht zu verwalten.
$2B or not $2B

Geändert von himitsu ( 6. Jun 2017 um 14:02 Uhr)
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Information dynamisch aus DLL (about-box)

  Alt 6. Jun 2017, 13:27
Kleines Demo anbei

Hab das ganze zwar unter Tokyo gebaut, sollte aber auch unter älteren Versionen funktionieren.
Angehängte Dateien
Dateityp: zip Resourcedemo.zip (3,74 MB, 12x aufgerufen)
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz