Wenn ich WaitOnExit verwende, wird das externe Programm gestartet und mein Programm wartet solange, bis das externe Programm beendet wird. Das funktioniert.
Nun versuche ich das externe Programm zu starten (es soll nicht automatisch beendet werden, wie in meinem nachstehenden Beispiel), ohne dass mein Programm wartet. Ich habe den Verdacht, dass das mit TProcess nicht geht, oder?
Code: Alles auswählen
program project1;
uses
sysutils,
process;
var
RunProgram: TProcess;
begin
RunProgram := TProcess.Create(nil);
RunProgram.Executable:=SetDirSeparators('/usr/bin/geany');
RunProgram.Parameters.Add('/home/oli/tmp.txt');
RunProgram.Execute;
Sleep(3000); // nur damit man sieht, dass das Programm gestartet wird.
RunProgram.Free;
writeln('weiter gehts'); // das externe Programm wurde beendet. Es soll aber weiter bestehen bleiben.
end.