Thema: Delphi DLL mit Form

Einzelnen Beitrag anzeigen

NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#17

AW: DLL mit Form

  Alt 1. Mär 2011, 21:20
Jetzt mal ne Frage bzw. Vorschlag. Da du in der Dll sowieso die Forms eingebunden hast warum machst du das dan nicht so?

Delphi-Quellcode:
procedure CreateForm(app: TApplication); stdcall;
begin
  if app.Handle = 0 then app.handle := GetActiveWindow;
 try
   if Form2=nil then
   app.CreateForm(TForm2, Form2);
   Form2.Show();
  except
    On E: Exception Do app.HandleException(E);
  end;
end;

//Aufruf so:
CreateForm2(Application);
Dadurch bindest du die Form direkt in die Anwendung ein. Wenn du jetzt die Anwendung schliest müsste theoretisch (habs jetzt nicht getest, ist jetzt so ein Gedanke) die Application selbst das Form killen. Weil da du die Unit Forms in die DLL eingebunden hast, hat die dll einen eigene Application Klasse. Du übergibst den Handle bzw. änderst ihn, aber die Klasse hat nicht die gleichen Eigenschaften wie die andere.
In meinem Fall übergibst du die Adresse auf die Application, die du in der Anwendung hast, mit allen Eigenschaften. die Funktion CreateForm wird auch in der Anwendung intern beim erstellen eingesetzt.

P.S. Falls ich falsch liege lass ich mich auch gerne belehren, was WinAPI angeht, weil wirklich viel zutun hab ich damit nicht
Nickel
"Lebe und denke nicht an morgen"
Zitat aus dem gleichnamigen Bollywoodfilm.
  Mit Zitat antworten Zitat