Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Einer PlugIn-Dll ein Formular hinzufügen (https://www.delphipraxis.net/80885-einer-plugin-dll-ein-formular-hinzufuegen.html)

TheMiller 16. Nov 2006 22:14


Einer PlugIn-Dll ein Formular hinzufügen
 
Guten Abend!

Ich habe mich mit dem PlugIn-Tut von Sakura gerade beschäftigt und klappt ganz gut soweit. Jetzt eine Frage. Kann ich meinem Plugin, also der DlL eine Oberfläche verpassen, sodass der User auf der rumklicken und Buttons etc wählen kann - also ein ganz normales Formular? Wäre klasse wenn das geht!

Habs mit DLL-Formularen probiert, scheint mir aber nicht so die Super-Lösung zu sein...

Danke!

mkinzler 16. Nov 2006 22:18

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Du kannst natürlich eine ganze Form in eine Dll verpacken. du mußt aber alles (auch die Erzeugung und Zerstörung) innerhalb der Dll machen und kannst nicht von außen auf die Form zugreifen.

TheMiller 16. Nov 2006 22:21

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Ne, das ist auch doof... Ich bräuchte eine Mischung. Ich müsste das PlugIn in das Hauptmenü laden und dann öffnen können. Drauf zugreifen muss ich nicht unbedingt. So eine Mischung wäre wirklich nicht schlecht. Kann man nicht visuelle PlugIns erstellen, oder sind PlugIns nur DLLs die funktionen ausführen?

mkinzler 16. Nov 2006 22:26

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Ne Mischung aus was?

TheMiller 16. Nov 2006 22:29

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Eine Mischung zwischen dem Aufbau und den Funktionalotäten (in Bezug auf die Erweiterung des Hauptprogramms) und Formularen.

Ich möchte ein PlugIn schreiben, was mein Hauptprogramm in sein MainMenu einträgt (das klappt) und dann, beim draufklicken, soll sich das PlugIn öffnen und der Benutzer soll, als Beispiel, einen kleinen Taschenrechner sehen und bedienen können. Der Taschenrechner wäre dann das PlugIn.

mkinzler 16. Nov 2006 22:31

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Das geht Problemlos mit einer Dll. Die Erzeugung unf freigabe des Formulars muß halt vollständig innerhalb der Dll geschehen.

TheMiller 16. Nov 2006 22:33

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
hast du dazu ein Beispiel?

Kann ich dann von der DLL auch String (PChars) auch an die Hauptanwendung übergeben bzw umgekehrt?

Danke!

mkinzler 16. Nov 2006 22:37

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Zitat:

hast du dazu ein Beispiel?
Du mußt eine Funktion (Prozedur) ShowForm deklarieren, in welcher die Formklasse erzeut und angezeigt wird.

Zitat:

Kann ich dann von der DLL auch String (PChars) auch an die Hauptanwendung übergeben bzw umgekehrt?
PChar: ja, String: Nein

TheMiller 16. Nov 2006 22:40

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Das habe ich schon probiert, aber ich bleibe an dem Paramater für Create hängen. Weiß nicht, was ich übergeben muss. Self funktioniert nicht. Kann ja auch nicht...

mkinzler 16. Nov 2006 22:41

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Delphi-Quellcode:
Form := TForm.Create( Nil);

TheMiller 16. Nov 2006 22:43

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
verdammt... :wall:

Dankeschön für deine Hilfe. Trotzdem: Sowas ärgert!

mkinzler 16. Nov 2006 22:46

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Und nicht vergessen, die Klasse auch innerhlab der dll wieder zu zerstören. Da du dir sonst einene Memory-Leak bekommst.

TheMiller 16. Nov 2006 22:47

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Ok, davon weiß ich jetzt aber wirklich nix. Wann muss ich es zerstören? Doch nur, wenn die DLL entladen wird, oder?

mkinzler 16. Nov 2006 22:52

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Zitat:

Ok, davon weiß ich jetzt aber wirklich nix. Wann muss ich es zerstören? Doch nur, wenn die DLL entladen wird, oder?
Spätestens bei Entladen der Dll. Dann mußt du aber das Anzeigen der Form und dessen Erzeugung in 2 Funktionen legen, sonst wird bei jedem Öffnen eine neu Form erzeugt, dessen Speicher auch beim Entladen der Dll bzw. Ende des Hauptprogrammes nicht mehr automatisch freigegeben wird (da ja kein Owner existiert, der das erledigen würde).

TheMiller 16. Nov 2006 22:58

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Ok super! Habe es auch dank deiner Hilfe geschafft, mir ein Form anzeigen zu lassen! Klasse! Danke dir!

Gute Nacht!

fylo 17. Nov 2006 07:34

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Moin
Zitat:

Zitat von DJ-SPM
Habs mit DLL-Formularen probiert, scheint mir aber nicht so die Super-Lösung zu sein...

Was meinst du damit?

TheMiller 17. Nov 2006 13:46

Re: Einer PlugIn-Dll ein Formular hinzufügen
 
Man kann doch ein Formular erstellen und dieses dann als DLL compilieren. Das macht man, wenn man best. Formulare öfter braucht. Aber ich habe jetzt eine DLL erstellt und dieser DLL noch ein neues Formular hinzugefügt..

Hoffe du weißt was ich meine.. Wenn nicht, dann schau mal im EasyDelphiHelper unter DLL-Programmierung!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 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