Delphi-PRAXiS
Seite 2 von 2     12   

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 "Frame" aus DLL in Dialog einbetten (https://www.delphipraxis.net/65001-frame-aus-dll-dialog-einbetten.html)

jensw_2000 15. Mai 2006 20:26

Re: "Frame" aus DLL in Dialog einbetten
 
Zitat:

Was geht da beim Frame erzeugen schief?
Ohne Code schwehr zu erraten...
Möglicher Weise fehlt nur
Delphi-Quellcode:
 <MeinFrame>.HandleNeeded;

Mit Frames habe ich das bisher aber auch noch nie gelöst.
Für meine Plugins verwende ich TForm und z.B. folgenden Code ...
Delphi-Quellcode:
function ShowDllForm(aApplication:TApplication; aPanel: TWinControl;aHeight,aWidth:integer):HWND;
begin
   if not Assigned(DllApplication) then
      DllApplication:=Application;

   Application:=aApplication;
   if not Assigned(DllForm) then
      DllForm:=TfrmDllPlugin.Createparented(aPanel.handle);

   with DllForm do
   begin
                  HandleNeeded;
      BorderStyle:=bsnone;
      Height:=aHeight;
      Width:=aWidth;
      top:=0;
      left:=0;
      Show;
   end;

   result:=DllForm.Handle;
end;
Schöne Grüße,
Jens
:hi:

F.W. 15. Mai 2006 22:25

Re: "Frame" aus DLL in Dialog einbetten
 
@jensw_2000: Du hast sicher nicht alles gelesen, ich habe mal ganz nebenbei am Rande erwähnt, dass es noch einen anderen Thread gibt, der mit diesem Thema handelt. Dort habe ich den Quellcode gepostet.

Aber egal, das man eine Form dafür auch benutzen kann, ist natürlich elegant! Das wusste ich vorher noch nicht! (DANKE!)
Ich bin sehr optimistisch gestimmt, kann es aber erst morgen nachhmittag testen, da ich jetzt langsam mal ins Bettchen muss (morgen iss ja schließlich wieder Schule :D )

DANKE! Ich werde es sofot ausprobieren!

jensw_2000 15. Mai 2006 22:49

Re: "Frame" aus DLL in Dialog einbetten
 
Zitat:

Du hast sicher nicht alles gelesen, ich habe mal ganz nebenbei am Rande erwähnt, dass es noch einen anderen Thread gibt, der mit diesem Thema handelt. Dort habe ich den Quellcode gepostet.
Das habe ich übersehen ... :oops:

Hier findest du ein kleines Beispiel mit einer eingebetten DLL-Form.
http://www.delphipraxis.net/internal...=544375#544375

Hier ist ein Codelib-Beitrag von Sakura. Eine super Vorlage für DLL-basierte Plugins.
http://www.delphipraxis.net/internal...?p=38015#38015
Wenn du Formulare einbetten willst, dann solltest du aber das Application Object der DLL sichern, dann mit TApplication der Hauptanwendung überschreiben und vor dem entladen der DLL das originale DLL-Application-Object zurückholen. Damit umgehst du schon mal einige Standardprobleme von eingebetteten DLL-Forms.

F.W. 15. Mai 2006 23:05

Re: "Frame" aus DLL in Dialog einbetten
 
Ich konnte es nicht lassen, musste es gleich noch probieren! :)

Und es hat geklappt!!! :cheers:

Aber die Links werde ich morgen erst anschauen, denn jetzt wird's wirklich Zeit ;-)

Bis jetzt gebe ich die "Frames", was ja jetzt die Forms sind, mit einer Dll-internen Funktion wieder frei. Ich werde sehen, ob sich da Probleme ergeben.
Ich habe noch nicht alles umgestellt, aber bis jetzt habe ich schon ein neues kleines Problem mit den Ankern von Komponenten auf dem Formular, aber das ist jetzt so ein kleines Übel, das sehe ich mir nochmal in aller Ruhe an!

PS: Dem anderen Thread, den ich noch aufgemacht hatte werde ich diese Lösung hinzufügen, womit er abgesegtnet wäre ;-)

Nochmal ein RIESEN DANKE an alle und besonders an jensw_2000!!!!

Wyski :witch:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:25 Uhr.
Seite 2 von 2     12   

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