Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

Zugriffsprobleme bei temporärem Verzeichnis...

  Alt 23. Mai 2006, 16:54
Hi,

Ich habe ein Programm mit dem ich ein Zip-Archiv auslese.
das ganze mache ich wie folgt (mit TZipForge):
Delphi-Quellcode:
//Öffnen
begin
  Zip.FileName:=FileName;
  FTempDir:=IncludeTrailingPathDelimiter(ExtractFilePath(FileName))+'Temp\';
  Zip.BaseDir:=FTempDir;
end;

//Analyse
begin
  Zip.OpenArchive;
  Zip.ExtractFiles('VT*');
  Zip.CloseArchive;
  while Zip.Active do //Braucht halt ne kurze Zeit...
    Delay(100);
  FindFirst(FTempDir+'VT*.*',faAnyFile,F);
  Result:=OpenFile(FTempDir+F.Name); //Analyse der Extrahierten Datei
end;

//Schliessen
begin
  Zip.BaseDir:='';
  if not DeleteFile(FTempDir+'VT05_06.DBF') then ShowMessage(SysErrorMessage(GetLastError));
  if not RemoveDir(FTempDir) then ShowMessage(SysErrorMessage(GetLastError));
end;
nur kann das Verzeichnis nie wieder gelöscht werden, weil es noch "von einem anderen Prozess verwendet wird."
BTW ist es dasselbe wenn ich per hand versuche es zu lsöchen aber das programm noch läuft.
beende ich es, kann ich das verzeichnis sofort löschen.
die datei kann ich immer problemlos löschen

kann mir das irgendwer erklären?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat