Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Formular mit CreateParented in einer DLL erstellen (https://www.delphipraxis.net/65829-formular-mit-createparented-einer-dll-erstellen.html)

MasterEvil 21. Mär 2006 05:33


Formular mit CreateParented in einer DLL erstellen
 
Hallo leutz,

ich bin momentan dabei ein Plugin-System für meinen EW-ProjectManager zu programmieren.
Dabei habe ich mich für die Arbeit mit Interfaces und DLLs entschieden.

Das läuft auch alles schon recht gut. Nun will ich aber aus der DLL heraus ein Formular anzeigen lassen. Auch dies klappt im Allgemeinen nur, dass ich keine TComponent vom Hauptformular habe um dem Forumlar den richtigen Parent zu geben (ohne ist es ein eigenes Fenster in der Taskleiste).
Daher habe ich nun eine Funktion in das Interface eingebaut, um mir das Handle des Hauptfenster zurück zu geben und erstelle jetzt das Formular in der DLL wie folgt:

Delphi-Quellcode:
with TFormSettings.CreateParented(PmInterface.AppHandle) do
begin
  ShowModal;
  Free;
end;
Es wird auch angezeigt, nur hat es aus irgendeinem Grund nicht den Fokus und man kann es ihm auch nicht geben. Egal wo ich hinklicke (Hauptfenster oder modales Fenster aus der DLL), es piept immer nur und auch mit ALT+TAB oder ähnlichen Tricks geht es nicht.

Hat jemand eine Idee?

greetz
Steffen

MasterEvil 21. Mär 2006 19:18

Re: Formular mit CreateParented in einer DLL erstellen
 
*push*
Keiner ne idee? :(

MasterEvil 25. Apr 2006 21:41

Re: Formular mit CreateParented in einer DLL erstellen
 
Ein letztesmal *push*

Finde einfach keine Lösung.
Weiß denn niemand Rat?

greetz
Steffen

MasterEvil 28. Apr 2006 11:26

Re: Formular mit CreateParented in einer DLL erstellen
 
Hab jetzt endlich eine Lösung gefunden und dachte ich teil sie euch mal mit, vielleicht hilft sie ja jemandem:

Und zwar muss man in der DLL die Unit Forms einbinden, damit man Zugriff auf Applications hat und muss dann nur das Application.Handle auf das Handle des Hauptfensters der Applikation setzen.
Alle Formulare, die man danach erzeugt haben automatisch das Haupform als Parent und danach kann man auch beide anklicken.

greetz
Steffen


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz