TProcess Anwendung am Leben lassen [gelöst]

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1620
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

TProcess Anwendung am Leben lassen [gelöst]

Beitrag von corpsman »

Servus,

sry für den Unglücklichen Betreff.

Es geht um folgendes:

Meine Anwendung startet ein Externes Programm und beendet sich anschließend sofort wieder. Das Problem ist nun, wenn meine Anwendung beendet wird, dann auch der durch meine Anwendung gestartete Prozess :(

Wie kann ich TProcess nun konfigurieren, dass die Externe Anwendung nicht beendet wird, wenn mein Programm sich schließt. Mein Code sieht im Prinzip so aus:

Code: Alles auswählen

 
Procedure TForm1.OpenApp(Filename: String);
{$IFDEF Unix}
Var
  p: TProcessUTF8;
  ep: TExecParam;
Begin
  p := TProcessUTF8.Create(Nil);
  ep := SplitFilenameToExecAndParam(Filename);
  p.Executable := ep.Executable;
  p.Parameters.Text := ep.Params;
  p.Execute;
  p.free;
End;
{$ENDIF}  
 
Zuletzt geändert von corpsman am Mo 23. Dez 2019, 08:56, insgesamt 1-mal geändert.
--
Just try it

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1620
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: TProcess Anwendung am Leben lassen

Beitrag von corpsman »

Lol, wie ich gerade feststelle, ist das oben beschriebene Verhalten nur, wenn man die Anwendung mittels der Lazarus IDE startet und "debuggt". Ohne Debugger funktioniert es wie es soll...
--
Just try it

Antworten