MichaelW - So 20.10.02 13:48
Titel: MDI-child Form aus einer DLL starten?
Hallo,
ich möchte ein MDI Child Fenster aus einer DLL herausstarten. Dazu habe ich eine DLL angelegt ein Formualr darin angelegt und eine Funktion geschrieben, die eine Instanz des Formulares anlegt und kreiert. Hier die exportierte Funktion:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var NewChildWind: TMDIChildWin;
function CreateNewMDIChildWin(Parent:TComponent; const Name: string;): TMDIChildWin; stdcall;
begin NewChildWind := TSplitterMDIWin.Create(Parent); NewChildWind.Caption := Name;
CreateNewMDIChildWin:=NewChildWind; end; |
TMDIChildWin ist eine Klasse die ganz normal von TForm abgeleitet ist und FormStyle=fsMDiChild setzt soweit also wie bei einem normalen MDI Projekt.
Versuche ich aber nun aus dem Hauptprogramm ein neues Fensteranzulegen, krieg ich immer einen Ausnahmefehler mit der Meldung, das "kein aktives MDI Hauptformular vorhanden ist" (sinngemäss) obwohl ich wie im Hilfe Beispiel von Delphi sonst alles 100% mache eben nur das die Funktion zum kreieren des Formulars in der DLL steckt!
Frage geht sowas in Delphi grundsätzlich nicht zu lösen oder mache ich was grundlegendes verkehrt?
Sowas muss doch möglich sein oder?
Vielen Dank für Hilfestellungen!!!
(20.10.02 14:24 Tino) Code-Tags hinzugefügt.
Klabautermann - Mo 21.10.02 10:16
Titel: Re: MDI-child Form aus einer DLL starten?
Hallo,
MichaelW hat folgendes geschrieben: |
Sowas muss doch möglich sein oder? |
ich fürchte nicht, da die DLL in einem andern Adressraum läuft wie dein Programm. Dlls sind leider ein ziemlich alter Hut (sieht man auch dadran, das sie nicht Objekt Orientiert sein können). Da musst du gegebenenfalls BPLs verwenden, mit denen müsste alles möglich sein, was Delhi hergibt.
Gruß
Klabautermann