Fremde Software starten/stoppen

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
NoCee
Beiträge: 170
Registriert: Do 3. Mär 2011, 21:34
OS, Lazarus, FPC: WinXp/7/10 Opensuse13.2/Leap15.3 (L 2.2.0 FPC 3.2.2 )
CPU-Target: Intel 32/64Bit, ARM9
Wohnort: Ulm

Fremde Software starten/stoppen

Beitrag von NoCee »

Hallo zusammen,
wir haben bei uns eine Steuerungssoftware für eine Maschine.
Läuft auf Opensuse und einem Standard PC.
Der Lieferant hat altershalber zugemacht, eine Softwareänderung gibts nicht mehr.
Wegen einer Änderung am Hostrechnersystem soll jetzt der Telegrammverkehr
zwischen der Software und einer Lagerverwaltersoftware geändert werden.
Am Inhalt ändert sich nichts, nur am Protokollrahmen.
Ich muß jetzt das Telegramm abfangen, anpassen und weiterleiten.
Ist reines Ascii. Bekomm ich alle hin hab aber folgendes Problem.

Die Reihenfolge des Startens und Stoppen beider Softwarekomponenten muß
immer gleich sein.
Mein Protokollkonverter wird gestartet
Steuerungssoftware wird gestartet (Protokollkonverter muß aber weiter aktiv bleiben)
Steuerungssoftware wird gestoppt (bei Bedarf)
Mein Protokollkonverter wird gestoppt

Beides läuft auf dem gleichen PC.
Am liebsten würde ich das mit meiner Protokollsoftware erledigen.
Also das in der Autostart meine Software gestartet wird und die startet
dann die Steuerungssoftware. Hab ich genug gefunden und würde ich vermutlich
hinbekommen. Aber wie kann ich mit meiner Software die Fremdsoftware wieder stoppen
bevor sie sich selber schließt. Und ganz übel ist wenn die Fremdsoftware geschlossen wird
muß ich mit einem eigenem Close reagieren.

Geht so etwas einigermaßen einfach? Bin ja kein Softwareguru.

Hat jemand einen Tip für mich?
Danke schon mal im Voraus und schönes Wochenende

NoCee

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Fremde Software starten/stoppen

Beitrag von Soner »

Dafür kannst du TProcess bzw. TProcessUTF8 benutzen, siehe Komponentenpalett auf System-Seite.
Auf Lazarus-Wiki gibt es dafür genug Informationen.

Mit WM_QUIT-Nachricht kannst du ein Programm schließen, dass du nicht mit TProcess selber gestartet hast.

Benutzeravatar
Roland Chastain
Beiträge: 156
Registriert: Sa 7. Jul 2012, 21:50
Wohnort: Saargemünd
Kontaktdaten:

Re: Fremde Software starten/stoppen

Beitrag von Roland Chastain »

Hallo!

Ich weiß nicht, ob dies genau Ihren Anforderungen entspricht, aber hier gibt es ein interessantes Beispiel:

https://sourceforge.net/p/lazarus-ccr/s ... s/process/
Petit poisson deviendra grand,
Pourvu que Dieu lui prête vie.

PascalDragon
Beiträge: 829
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Fremde Software starten/stoppen

Beitrag von PascalDragon »

Soner hat geschrieben:
Fr 28. Mai 2021, 11:19
Mit WM_QUIT-Nachricht kannst du ein Programm schließen, dass du nicht mit TProcess selber gestartet hast.
NoCee hat geschrieben, dass es auf Linux läuft. Da gibt es kein WM_QUIT.
FPC Compiler Entwickler

Antworten