Thema: Delphi fileExists zu schnell?

Einzelnen Beitrag anzeigen

Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#3

Re: fileExists zu schnell?

  Alt 9. Apr 2005, 22:42
Tja, aber woher weiß ich, dass Gunzip fertig ist? Deswegen hatte ich ja die Scheife zwischen den Aufruf der beiden Programme geschrieben. Ich rufe Gunzip folgendermaßen auf:

Delphi-Quellcode:
Procedure TForm1.DecompressFiles(applicationName, s: String);
var
  SI: TStartupInfo;
  PI: TProcessInformation;
  AppHWnd :HWND;
  ProcessId: DWORD;
  I: Integer;
begin
  AppHWnd := 0;
  FillChar(SI, SizeOf(TStartupInfo), 0);
  SI.cb := SizeOf(TStartupInfo);
  SI.dwFlags := STARTF_USESHOWWINDOW;
  SI.wShowWindow := SW_HIDE;
  if CreateProcess(nil, PChar(extractFilePath(application.ExeName)+applicationName+s), nil, nil, False, 0, nil, nil, SI, PI) then
  begin
    WaitForInputIdle(PI.hProcess, INFINITE);
    CloseHandle(PI.hProcess);
    CloseHandle(PI.hThread);
  end;
end;
und der Aufruf dann:

DecompressFiles('gunzip ', extractFileName(FileList.Strings[i])); und danach jetzt mal ohne die repeat until-Schleife:

Delphi-Quellcode:
DecompressFiles('7z x ', ansiReplaceStr(extractFileName(FileList.Strings[i]),
                         extractFileExt(extractFileName(FileList.Strings[i])), ''));
  Mit Zitat antworten Zitat