Thema: Delphi Mainform aus DLL laden?

Einzelnen Beitrag anzeigen

Hyperspacer

Registriert seit: 23. Apr 2006
53 Beiträge
 
Delphi 7 Personal
 
#14

Re: Mainform aus DLL laden?

  Alt 13. Jan 2009, 15:51
// edit: Okay der Fehler ist so doof, das es schon wehtut. Ich hatte zwei dlls in meinem verzeichnis. und in dem programm habe ich immer auf die alte verwiesen, die ich gar nicht mehr verändert habe -.- echt DOOF.

Naja aber es wäre ja nicht mein Quelltext wenn nicht gleich wieder ein Fehler auftauchen würde. Aber den find ich wenigstens logisch. Wie ich ihn umgehe, ist jetzt die frage.
Ich möchte nicht wie sunlight7 forms einbinden um ein application-objekt zu erhalten.
momentan weise ich der zu erstellenden Form dads Handle meines Threads zu. Das führt zu einem Fehler. Ich kenn mich da ja bnicht aus, aber ich nehm mal an das Windows zwischen den Handles von Threads und Fenstern unterschiede macht

Delphi-Quellcode:
  DLL := LoadLibrary(PChar(ExtractFilePath(ParamStr(0)) + 'tim4_MainDLL.dll'));

  If DLL <> 0 then
    begin
      @AMainForm := GetProcAddress(DLL, 'StartMainForm');
      If @AMainForm <> nil then
        AMainForm(GetCurrentThread);
    end;
Daher dann auch der Fehler:

Exceptiontyp: EOSError
Meldung: Systemfehler. Code: 1400. Ungültiges Fensterhandle.
Schade eigentlich.

Vorschläge?

edit2: ohne das ich der application in der dll ein neues handle zuweise geht es anscheinend. Kann die Form auch "bedienen" ohjne das irgendwelche fehler auftreten
Nur bisher habe ich überall gelesen das es probleme mit messages geben wird, daher traue ich dem nicht ganz. Aber sind Mausklicks nicht auch messages? und die funktionieren auf den Buttons der form ja..
  Mit Zitat antworten Zitat