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.