Einzelnen Beitrag anzeigen

delphiNoob

Registriert seit: 9. Apr 2004
Ort: Niedermohr
25 Beiträge
 
#1

DOS-Anwendung aus Delphi startet, beendet sich aber sofort

  Alt 25. Jan 2006, 20:48
Hallo

Ich wollte eine DOS-Anwendung, die mit TP geschrieben ist aus einer Delphi-Anwendung aufrufen. Die Anwendung wird zwar aufgerufen, jedoch beendet sich das DOS-Programm sofort wieder.

Hier die Code-Zeilen, die die Anwendung ausführen:

Delphi-Quellcode:
procedure ExecuteProgramm(const PFileName: string);
var
  SEInfo: TShellExecuteInfo;
  ExitCode: DWORD;
  ExecuteFile: string;
begin
  ExecuteFile := '"' + PFileName + '"';
  FillChar(SEInfo, SizeOf(SEInfo), 0);
  SEInfo.cbSize := SizeOf(TShellExecuteInfo);

  with SEInfo do
  begin
    fMask := SEE_MASK_NOCLOSEPROCESS;
    Wnd := Application.Handle;
    lpFile := PChar(ExecuteFile);
    nShow := SW_SHOWNORMAL;
  end;

  if ShellExecuteEx(@SEInfo) then
  begin
    repeat
      Application.ProcessMessages;
      GetExitCodeProcess(SEInfo.hProcess, ExitCode);
    until (ExitCode <> STILL_ACTIVE) or
      Application.Terminated;
  end else
  begin
    Application.MessageBox('Fehler beim Starten des Programms',
      'Hinweis', MB_OK + MB_ICONERROR);
  end;
end;
die procedure hab ich hier in der code-library gefunden.

Nun meine Frage: woran kann es liegen, dass die Anwendung sofort wieder beendet wird? liegts an der Art, wie sie aufgerufen wird oder an der Anwendung selbst?
  Mit Zitat antworten Zitat