Thema: Delphi DLL entladen

Einzelnen Beitrag anzeigen

hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#5

Re: DLL entladen

  Alt 7. Mär 2006, 14:18
Danke für die Tips.
Mit Postmessage hatte ich schon experimentiert. Hat auch funktioniert.
Bei dem Callback bin ich gelandet, weil ich einen Dll Handler für das Programm
geschrieben habe (und ein Modul auf Dll Seite)
1. Die Dll wird mit Loadlibrary erzeugt.
2. Es wird Aplication.Handle, Parenhandle und Dll-Handle übergeben.
3. Die Form wird mit Show angezeigt.
4. Bei Close der Form in der Dll wird die Form mit Action := cafree freigegeben.
5. Das aufrufende Programm (hier der Dll Handler) wird über Callback informiert, dass die
Dll freigegeben werden kann. Dazu wird das eigene (vorherübergebenen DLL-Handle als Kennung
benutzt.
Kann man eigentlich in der Dll das Handle derselben herausbekommen?

Der Vorschlag mit Messages und PostMessage ist eleganter. Hier habe ich jedoch das Problem,
dass mein DLL Handler nicht von Twincontrol abstammt und keine Botschaften empfangen kann.
Hier müßte ich dann im Mainfenster der Anwendung die Botschaft abfangen und zum dem
Handler durchschleifen.

BPL möchte ich aus zwei Gründen nicht verwenden.
1. Ohne eine automatische Updatekontrolle ist das System zu störanfällig.
Das Programm muß unter sehr robusten Umgebungsbedingungen laufen und das fast immer am
Wochenende. Ein Internetzugang steht meist nicht zur Verfügung.
Die Beziehungen zwischen Hauptpgrogramm und Dll sind so lose, dass eigentlich nur der
Datenbankname (Firebird) und eine ID zu übergeben sind.

2. Sollte ich in absehbarer Zeit gezwungen sein, auf Net überzugehen, dann kann ich große
Teile des Programms (die Dll) erst einmal weiternutzen.

Kennt wehr übrigends ein brauchbares (auch kostenpflichtiges) DLL Framework?

Gruß
Peter
  Mit Zitat antworten Zitat