Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Aufbau eines mächtigen Pluginsystems (https://www.delphipraxis.net/100624-aufbau-eines-maechtigen-pluginsystems.html)

Chaosente 1. Okt 2007 16:21


Aufbau eines mächtigen Pluginsystems
 
Also, meine Idee ein Prgramm das man um etliche Plugins erweitern kann. Diese reagieren größtenteil auf die eingaben in ein bestimmtest Edtifeld, sollen aber weiterhin auch selbst mächtig sein(Formulare erstellen, Auf dem Mainform etwas erstellen, objekte usw.). Nur wie stell ich das an, was muss ich dabei beachten? Ich denke mal ich kann nicht einfach das Handel meines MainForm übergeben und aus na dll alles machen oder? Wär cool, wenn mir da jemand nen paar detailierte Infos zukommen lässt...

Danke

Phoenix 1. Okt 2007 16:35

Re: Aufbau eines mächtigen Pluginsystems
 
Naja, Du könntest z.B. einfach einen Pointer auf das Form in die DLL packern und diesen dort wieder dereferenzieren und nach TForm casten.

Ist allerdings relativ unsauber, zumal dann jede andere dll die so einen Pointer erwartet (und mit der gleichen Delphi-Version kompiliert ist) so ziemlich alles mit Deiner Anwendung anstellen könnte. Ist also nicht gerade eine gute Sache in Sachen Security. Geht aber.

Chaosente 1. Okt 2007 16:37

Re: Aufbau eines mächtigen Pluginsystems
 
Und wie kann ich das ganze lösen ohne verlust der sicherheit?
Wär ja nur zu schön wennjedes Plugin alles zerstören könnte...

Dax 1. Okt 2007 16:43

Re: Aufbau eines mächtigen Pluginsystems
 
Das könntest du tun, indem du jeder Klasse ein Interface verpasst, und dann Interfaces statt Klasseninstanzen übergibst.

Chaosente 1. Okt 2007 16:44

Re: Aufbau eines mächtigen Pluginsystems
 
Der Satz an sich hört sich ja ganz Leicht an, aber verstehen tu ich das ganze nicht! Sry dll´s sind Neuland für mich!

gsh 1. Okt 2007 16:50

Re: Aufbau eines mächtigen Pluginsystems
 
*Link zuschieb*


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