Einzelnen Beitrag anzeigen

Benutzerbild von sieppl
sieppl

Registriert seit: 15. Aug 2004
Ort: Münster
198 Beiträge
 
Delphi 7 Professional
 
#6

Re: Forms in einer DLL erzeugen - die Theorie

  Alt 23. Sep 2005, 09:42
Zitat von MarcoWarm:
also das ist alles Möglich...
Es ist so, daß es generell nicht empfohlen wird VCL-Formulare in DLLs auszulagern, da das viel Speicher fressen soll, weil die VCL mehrfach geladen werden muss. Ich mach es trotzdem und die Programme laufen auch Anstandslos. Der offizielle Weg ist, bpl's zu benutzen. Das hab ich auch schon versucht, aber da ärgert man sich nur rum und muss dem Endkunden auch die ganzen System-BPLs von Borland mitliefern (nich so schön)

Auf alle Fälle solltest du der DLL beim Aufruf das ApplicationHandle übergeben.

wenn du willst kann ich dir ja ein bissl Beispielcode posten.
BPL ist nicht nötig. Das PlugIn (als DLL) wird ausschließlich für ACDSee benutzt werden. Also werden Formulare nur einmal geladen.
Mein Problem: Falls während der Erstellungsphase eines Frames eine Message an den Handle des Frames gepostet werden soll gibt es die Fehlermeldung 'kein übergeordnetes Fenster'. Weil der Owner in diesem Moment noch kein Handle besitzt wird auf den Handle der Application zurückgegriffen. Dieses ist aber Null wenn die Form von einer DLL erzeugt wird. Ich habe schon versucht dem Application. Handle der globalen Instanz innerhalb meiner DLL den Handle der aufrufenden Application zuzuweisen. Probeweise Application.Handle einer DummyHost.exe die ich mir fix zusammengeschraubt habe, aber auch den Handle einer TestForm der DummyHost.exe. Beides führt zu Zugriffsverletzungen. Ich kann aber gerne nochmal die genauen Resultate posten, bei beiden Versuchen.
Sebastian
  Mit Zitat antworten Zitat