![]() |
DLL-Formular als Plug-In - oder "richtige" DLL
Hallo,
wollte mein Programm modular aufbauen. Dazu habe ich mir gedacht, Formulare in DLLs auszulagern und beim Starten zu laden. Dann könne ich von dem PlugIn aus direkt auf (zb) ListView1 des Haupprogrammes zugreifen. Könnte ich mit einer richtigen DLL doch nicht - wenn doch - wie?? Nur, wozu gibt es dann DLL-Formulare? Ich könnte doch genausogut die Echse laden, oder? Wo sind hier die Unterschiede und was ist die bessere Plug-In-Lösung...? Danke im Voraus! |
Re: DLL-Formular als Plug-In - oder "richtige" DLL
Also entweder du pcakst die Formulare in Bpls oder du mußt Wrapper-Funktionen schreiben.
|
Re: DLL-Formular als Plug-In - oder "richtige" DLL
Ok, BPLs find ich richtig schlecht. Ich hab dagegen eine Antipatie... Was sind Wrapper-Funktionen? Aufwendig? Umständlich? Viel?
Und was hälst du/ihr von Formular-DLLs? |
Re: DLL-Formular als Plug-In - oder "richtige" DLL
Wrapperfunktionen sind Funktionen wie "Form1Listbox1ItemAdd", die du aus der DLL aufrufst, um den modulübergreifenden Zugriff auf die VCL zu verhindern.
|
Re: DLL-Formular als Plug-In - oder "richtige" DLL
Aso. Aber ich merke gerade eins:
Ich will ja ein Programm mit PlugIns machen. Diese PlugIns sind ja nicht nur DLLs, die Funktionen hinzufügen, sondern sollen auch die GUI und das Programm visuell erweitern. Also Formulare, die hinzugefügt werden. Kann ich gar keine DLL schreiben, sondern muss soagr ein Formular-DLL nehmen, damit ich auch auf Form1 des Hauptprogramms oder die ZEOS-Komponente zugreifen kann. Doch das mit dem Wrapper habe ich nicht so ganz verstaden. Hast Du ein Beispiel für mich? |
Re: DLL-Formular als Plug-In - oder "richtige" DLL
Ja.
Angenommen, du willst auf ein Frm zugriefen und darin bei einer listbox etwas hinzufügen. Solltest du das nicht so machen:
Delphi-Quellcode:
Sondern so:
//DLL
procedure ListBoxAddText(LB: TListBox); begin LB.AddItem('text',nil); end;
Delphi-Quellcode:
Das ist jetzt natürlich nur skizziert und würde höchstwahrscheinlich ein böses Speicherleck hinterlassen...
//DLL
function GetListBoxAddText: PChar; begin Result := 'text'; //ich weiß jetzt nicht, ob der compiler das umsetzt... end; //Hauptprogramm Listbox1.AddItem(GetListBoxAddText,nil); |
Re: DLL-Formular als Plug-In - oder "richtige" DLL
Zitat:
|
Re: DLL-Formular als Plug-In - oder "richtige" DLL
Hm...
Kann ich nicht einfach von einem DLL Formular auf die Zeos-Komponente oder andere Komponenten zugreifen? Ich meine, ein DLL-Formular muss ja auch irgendeinen Sinn haben... Und die DLL ist ja nicht ohne die Hauptanwendung lauffähig, also abhängig von ihr. Da muss ich doch sowas wie "Form1.ZQuery.Close" vom DLL-Formular aus machen können! |
Re: DLL-Formular als Plug-In - oder "richtige" DLL
Zitat:
|
Re: DLL-Formular als Plug-In - oder "richtige" DLL
Mist. Gibt es da eine Möglichkeit irgendwie in der Art zuzugreifen oder ist das wieder die Geschichte mit der Wrapper-Funktion?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz