Hallo,
ich habe in einem größeren Programm das Einbinden von Plugin über Exe Files gelöst.
Ich klicke also einen Menüpunkt an und es wird eine externe ExeFile mit Parametern gestartet.
Mit einzelnen
API Routinen habe ich das bereits gelöst.
Jedoch fehlt mir im Moment die Zeit das in einer Classe zu packen und vom Ablauf rund zu machen.
Meine Frage kennt wer ein fertiges (auch kommerzielles Tool), was dieses realisiert oder kann dieses
zusammenbauen? Über ein Honorar sollte in diesem Fall zu reden sein.
Hier die Vorstellungen:
Ein PluginControler der alle Plugin verwaltet.
Delphi-Quellcode:
Ctrl := TPluginControler.Create;
Ctrl.ExecuteProg(Programmname, Parameter, MultiStart, Wait);
Programm wird gestartet.
MultiStart = true Mehrfachstart möglich.
MultiStart = false, es wird geprüft ob der Prozess bereits läuft, wenn ja wird dieser in den Vordergrund geholt.
Wait = true, wartet mit WaitForSingleObject(ProcessInfo.hProcess, INFINITE) auf das Programmende und gibt dann mit
GetExitCodeProcess(ProcessInfo.hProcess, ExitCode) den Exitcode zurück.
Beliebig viele Plugin können gestartet und verwaltet werden.
Eine Abfrage ob das Programm läuft
if Ctrl.isRun(Programmname)...
Zum Programmende ein Terminate aller noch offenen Plugin, wobei hier ein WM_Close an das Mainwindow der bessere Weg wäre.
Ein Terminate aller aktiven Plugin über den Programmnamen.
Die Funtion ist notwendig beim Neustart des Rahmenprogrammes.
Wenn dieses unkontrolliert terminiert, dann können die abhängigen Prozesse noch aktiv sein.
Hier sollte warscheinlich ein Window-Job die bessere Lösung sein, damit habe ich aber noch nichts gemacht.
Mit Gruß
Peter