Zitat von
torud:
Leider war es das auch nicht!
Die Typen sind nicht kompatibel TDM und TComponent!
Ups, ich habe den falschen Datentyp verwendet:
Delphi-Quellcode:
// procedure im Plugin, wird vom Hauptprog aufgerufen
procedure SetDataModule(value:TDataModule);
begin
dm := TDMxxx(value); // TDMxxx ist der Name deines Datenmoduls
end;
Zitat von
torud:
Stell ich mich denn so dumm an, oder ist es wirklich so schwer ein Plugin und eine Kommunikation zwischen beiden herzustellen???
Ja, das ist gar nicht so einfach.
Es gibt mehrere Wege, um ein Plugin-Verhalten herzustellen:
* mit "normalen" DLLs, die dynamisch vom Hauptprog geladen werden und eine definierte
prozedurale Schnittstelle haben
* mit dynamisch geladenen Packages mit
objektorientierter Schnittstelle
(siehe:
http://www.obsof.com/delphi_tips/DL613.html )
nur für Delphi und C++-Builder geeignet!
* mit Active-X Libraries; wenn nur die für Automatisierung erlaubten Datentypen verwendet werden, können Plugins auch mit anderen Programmiersprachen erstellt werden
Softwaretechnisch die sauberste Lösung (da für Plugin und Hauptprog Schnittstellen=Interface deklariert werden) aber auch am schwierigsten