Um ein anderes Programm asynchron zu starten nutze ich ShellExecute.
Delphi-Quellcode:
Application.Terminate;
ShellExecute(Application.Handle, 'open' ,PChar(ExtractFilePath(ParamStr(0))+'irgend eine Datei.exe'), nil, nil, sw_ShowNormal);
Leider mußte ich des öfteren beobachten, daß hin und wieder das angesprochene Programm nicht gestartet wird. Woran könnte das nun wieder liegen?
Im selben Atemzug hätte ich gern in Erfahrung gebracht, ob ich das laufende Programm vor oder nach ShellExecute mit Application.Terminate beenden sollte.