Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi DeleteFile löscht gewünschte Datei nicht (https://www.delphipraxis.net/158825-deletefile-loescht-gewuenschte-datei-nicht.html)

Bjoerk 4. Mär 2011 13:31

AW: DeleteFile löscht gewünschte Datei nicht
 
wenn du das mit dem Antivirenprogramm bezweifeslt, dann kannst du dir das mit dem sleep sparen.:-D

himitsu 4. Mär 2011 13:35

AW: DeleteFile löscht gewünschte Datei nicht
 
nimm' lieber Delphi-Referenz durchsuchenSysErrorMessage oder gleich Hier im Forum suchenSysErrorMessage :angle2:
> http://www.delphipraxis.net/158106-r...parameter.html (da DeleteFile = RenameFile, nja fast, paßt es ja)

Metallicwar 4. Mär 2011 13:39

AW: DeleteFile löscht gewünschte Datei nicht
 
Delphi-Quellcode:
procedure TfrmBankenDownload.ZIPAusführen;
var
  sExePfad, sZIPPfad: String;
  AbZIPEntpacken : TAbUnZipper;
begin
  sZIPPfad := ExtractFilePath(ParamStr(0))+'Bankdaten.zip';
  TRY
    ftpDateiDownload.Get('Bankdaten.zip',sZIPPfad, true);
  EXCEPT
    on E: Exception do
    ShowMessage('Beim Download der ZIP Datei ist ein Fehler aufgetreten.' + sLineBreak +
                'Exception class name = '+E.ClassName + sLineBreak +
                'Exception message = '+E.Message);
  END;
  TRY
    begin
      AbZIPEntpacken := TAbUnZipper.Create(Self);
      sExePfad := ExtractFilePath(Application.ExeName);
      AbZIPEntpacken.FileName := sZIPPfad;
      AbZIPEntpacken.BaseDirectory := (sExePfad+'Bankdaten');
      AbZIPEntpacken.ExtractFiles('*.*');
      Application.ProcessMessages;
    end;
  EXCEPT
    on E: Exception do
    begin
      ShowMessage('Es ist ein Fehler beim Entpacken der ZIP Datei aufgetreten.' + sLineBreak +
                  'Exception class name = '+E.ClassName + sLineBreak +
                  'Exception message = '+E.Message);
    end;
  END;
  AbZIPEntpacken.Free;
  SysUtils.DeleteFile(sZIPPfad);
  ftpDateiDownload.Disconnect;
end;
also so wie's aussieht, lag schon von himitsu vermutet, an der ZIP Komponente, hab sie jetzte mal zur Laufzeit erzeugt und siehe da, es funktioniert !

Vielen Dank für die Hilfe ! :dp:

Lemmy 4. Mär 2011 13:43

AW: DeleteFile löscht gewünschte Datei nicht
 
Hi,

ein AbZipXX.close hätte vor dem Delete vermutlich auch schon ausgereicht...

Grüße

himitsu 4. Mär 2011 13:44

AW: DeleteFile löscht gewünschte Datei nicht
 
Wenn diese Komponente ordentlich geschrieben ist, sollte man auch irgendwie die Datei wieder schließen/freigeben können.

Ich kenn diese allerdings nicht, aber eventuell gibt es ja sowas wie
Delphi-Quellcode:
AbZIPEntpacken.CloseFile
oder
Delphi-Quellcode:
AbZIPEntpacken.FileName := '';

Assarbad 4. Mär 2011 13:50

AW: DeleteFile löscht gewünschte Datei nicht
 
Zitat:

Zitat von himitsu (Beitrag 1085875)
War das nicht das, wofür man Adminrechte benötigt?

Wäre mir neu.

himitsu 4. Mär 2011 13:55

AW: DeleteFile löscht gewünschte Datei nicht
 
Zitat:

Zitat von Assarbad (Beitrag 1085890)
Wäre mir neu.

Dort http://www.delphipraxis.net/89932-mo...tml#post610573 hat irgendwer ( :stupid: ) geschrieben, daß die zu löschenden Dateien in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\FileRenameOperations eingetragen werden und braucht man für HKEY_LOCAL_MACHINE nicht nicht gewisse Rechte?

Assarbad 4. Mär 2011 14:12

AW: DeleteFile löscht gewünschte Datei nicht
 
Zitat:

Zitat von himitsu (Beitrag 1085891)
Zitat:

Zitat von Assarbad (Beitrag 1085890)
Wäre mir neu.

Dort http://www.delphipraxis.net/89932-mo...tml#post610573 hat irgendwer ( :stupid: ) geschrieben, daß die zu löschenden Dateien in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\FileRenameOperations eingetragen werden und braucht man für HKEY_LOCAL_MACHINE nicht nicht gewisse Rechte?

Daß die da eingetragen werden ist schon korrekt (es ist wohl ein Schlüssel und ein Wert die da potentiell infrage kommen). Allerdings hatte ich aus Konten heraus die wenig Rechte hatten nie ein Problem damit das Hinzuzufügen. Aber hast recht, ist mal ne interessante Frage der ich gleich mal mit IDA auf den Grund gehen werde ;)

Metallicwar 4. Mär 2011 14:17

AW: DeleteFile löscht gewünschte Datei nicht
 
Zitat:

Zitat von himitsu (Beitrag 1085887)
Wenn diese Komponente ordentlich geschrieben ist, sollte man auch irgendwie die Datei wieder schließen/freigeben können.

Ich kenn diese allerdings nicht, aber eventuell gibt es ja sowas wie
Delphi-Quellcode:
AbZIPEntpacken.CloseFile
oder
Delphi-Quellcode:
AbZIPEntpacken.FileName := '';


CloseFile gibts nicht. und den FileName leer setzen, hab ich nicht probiert.

Aber diese Komponente ist nicht gut geschrieben, hat mein Kollege bestätigt. Er empfiehlt http://www.componentace.com/zip_comp...i_zipforge.htm

Lemmy 4. Mär 2011 14:35

AW: DeleteFile löscht gewünschte Datei nicht
 
Zitat:

Zitat von Metallicwar (Beitrag 1085901)

CloseFile gibts nicht. und den FileName leer setzen, hab ich nicht probiert.

Wie schon oben beschrieben heißt die Methode in der aktuellen Version Close;

Zitat:

Zitat von Metallicwar (Beitrag 1085901)
Aber diese Komponente ist nicht gut geschrieben, hat mein Kollege bestätigt. Er empfiehlt http://www.componentace.com/zip_comp...i_zipforge.htm

sicherlich keine schlechte Entscheidung....


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:11 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz