Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Controler für Exe Start (https://www.delphipraxis.net/129819-controler-fuer-exe-start.html)

hanspeter 26. Feb 2009 08:52


Controler für Exe Start
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz