Ik wil een plugin systeem maken. En leuk programmatje waarbij de host een MySQL verbinding verzorgt. Nu moeten alleen de plugins ook met deze verbinding kunnen communiceren.
Ik heb het voor elkaar gekregen om een plugin systeem te maken met DLL's, door het comonent in de Jedi-VCL te gebruiken, en ook nog op een andere manier door een ander componentje. Hierbij zit alleen een probleem. Het lukt me wel om een command naar een plugin te sturen, en dat deze plugin wat doet, een formpje laat zien of zo, maar het is me niet gelukt om feedback terug te geven. Dat de plugin bijv. een functie uit de Hostapp aanroept en daardoor kan communiceren.
Wat wil ik eigenlijk bereiken? Dat ik bijvoorbeeld zo een functie kan aanroepen vanuit een plugin:
getDataSource(SQLQuery: string; ReturnForm: TForm): TDataSource;
Ongeveer zo wil ik dan de mainapp functie aanroepen.
Hostapp.mainform.getDataSource('SELECT * FROM bla', Form2);
Is dit mogelijk, of niet? En hoe zou ik dit dan ongeveer moeten aanpakken? Gaat dit beter als ik .bpl's als plugin gebruik?
Ik heb het voor elkaar gekregen om een plugin systeem te maken met DLL's, door het comonent in de Jedi-VCL te gebruiken, en ook nog op een andere manier door een ander componentje. Hierbij zit alleen een probleem. Het lukt me wel om een command naar een plugin te sturen, en dat deze plugin wat doet, een formpje laat zien of zo, maar het is me niet gelukt om feedback terug te geven. Dat de plugin bijv. een functie uit de Hostapp aanroept en daardoor kan communiceren.
Wat wil ik eigenlijk bereiken? Dat ik bijvoorbeeld zo een functie kan aanroepen vanuit een plugin:
getDataSource(SQLQuery: string; ReturnForm: TForm): TDataSource;
Ongeveer zo wil ik dan de mainapp functie aanroepen.
Hostapp.mainform.getDataSource('SELECT * FROM bla', Form2);
Is dit mogelijk, of niet? En hoe zou ik dit dan ongeveer moeten aanpakken? Gaat dit beter als ik .bpl's als plugin gebruik?