Also,
@tigerman:
wenn du das so siehst, dann wird die
DLL dynamisch eingebunden.
Ich versuche das ganze Verfahren noch mal zu erläutern: Das Fenster1, welches im Vordergrund bleibt, wird irgendwann von der Applikation aus mit Show() aufgerufen. Im weiteren Verlauf, also solange das Fenster1 noch gezeigt wird, wird dann die
DLL geladen. In der
DLL wird über ein Hilfsfenster Fenster2 (ist uninteressant) das Fenster3 in der Fenster2.FormShow() über die Funktion Fenster3.ShowModal() aufgerufen. Nun wird in der Funktion Fenster3.OnShow() dieses Fenster in den Vordergrund gestellt mit Fenster3.BrintToFront(). Aber das macht er nicht!
Alle Fenster werden jeweils in den
DPR-Files zu Beginn erstellt mit Application.CreateFrom(TForm, Form).
Als zusätzliche Info: Das passiert ja nicht nur bei Fenstern. Auch wenn ich in einer
DLL eine Message ausgebe ist diese dann auch im Hintergrund und man denkt die Applikation ist abgeschmiert, weil ja nichts passiert. Die Message aber ist hinter dem Fenster1.
@Ianis:
Die Sache mit der Handleübergabe funktioniert auch nicht.
gruß, moony