AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi DeleteFile löscht gewünschte Datei nicht
Thema durchsuchen
Ansicht
Themen-Optionen

DeleteFile löscht gewünschte Datei nicht

Ein Thema von Metallicwar · begonnen am 4. Mär 2011 · letzter Beitrag vom 4. Mär 2011
Antwort Antwort
Seite 1 von 2  1 2      
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: DeleteFile löscht gewünschte Datei nicht

  Alt 4. Mär 2011, 13:12
Kann sein, daß dein Antivierenprogramm die Datei noch nicht freigibt.
Auf jeden Fall mal das free vor dem delete probieren.
Statt des Application.ProcessMessages mal ein sleep(1) versuchen (zwischen free und delete).

Hast du AbZIPEntpacken:=TZipDingens.Create irgendwo stehen ?

Geändert von Bjoerk ( 4. Mär 2011 um 13:18 Uhr) Grund: (zwischen free und delete) eingefügt.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#2

AW: DeleteFile löscht gewünschte Datei nicht

  Alt 4. Mär 2011, 13:16
Kann sein, daß dein Antivierenprogramm die Datei noch nicht freigibt.
Sehr unwahrscheinlich. Der Scan ist üblicherweise abgeschlossen sobald die Datei erfolgreich geöffnet ist.

Ansonsten empfehle ich MSDN-Library durchsuchenMoveFileEx mit MOVEFILE_DELAY_UNTIL_REBOOT.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#3

AW: DeleteFile löscht gewünschte Datei nicht

  Alt 4. Mär 2011, 13:21
Ansonsten empfehle ich MSDN-Library durchsuchenMoveFileEx mit MOVEFILE_DELAY_UNTIL_REBOOT.
War das nicht das, wofür man Adminrechte benötigt?

PS: Der Schuldige ist nicht der Virenscanner oder Sonstwer, sondern AbZIPEntpacken.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#4

AW: DeleteFile löscht gewünschte Datei nicht

  Alt 4. Mär 2011, 13:50
War das nicht das, wofür man Adminrechte benötigt?
Wäre mir neu.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#5

AW: DeleteFile löscht gewünschte Datei nicht

  Alt 4. Mär 2011, 13:55
Wäre mir neu.
Dort http://www.delphipraxis.net/89932-mo...tml#post610573 hat irgendwer ( ) 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?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: DeleteFile löscht gewünschte Datei nicht

  Alt 4. Mär 2011, 14:12
Wäre mir neu.
Dort http://www.delphipraxis.net/89932-mo...tml#post610573 hat irgendwer ( ) 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
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#7

AW: DeleteFile löscht gewünschte Datei nicht

  Alt 4. Mär 2011, 13:27
Kann sein, daß dein Antivierenprogramm die Datei noch nicht freigibt.
Auf jeden Fall mal das free vor dem delete probieren.
Statt des Application.ProcessMessages mal ein sleep(1) versuchen (zwischen free und delete).

Hast du AbZIPEntpacken:=TZipDingens.Create irgendwo stehen ?
Das mit dem Antivirenprogramm bezweifle ich.
das mit dem sleep werd ich mal probieren.

TZipDingens.Create hab ich nirgends stehen, habe doch erwähnt dass ich die Komponente nicht zur Laufzeit erzeuge.


Zitat:
Zitat von Metallicwar:
habe das Free entfernt, nun meckert er, nachdem ich erneut den button anklicke, dass der Ordern Bankdaten.zip nicht erstellt werden kann.


Liegt aber vermutlich daran, dass der Ordner bereits existiert, daher möchte ich ihn ja löschen.
Es wird nun aus genau dem selben Grund gemeckert, weswegen die Datei vorher auch nicht gelöscht werden konnte.
> Du hast über .FileName dem AbZIPEntpacken gesagt, es soll diese Datei öffnen/verwenden und das macht es auch, bis du was Anderes sagst.

Hast du dir mal das Result, GetLastError und SysErrorMessage angesehn?


Zitat:
AbZIPEntpacken.Create(Self);
Wie erzeugt man Objekte?
AbZIPEntpacken := TAbZIPEntpacken.Create(Self); .

Und wenn du es freigibst, dann ist es weg, also neu erstellen, aber wenn du es manuell erstellst, dann darfst du nicht die Komponente auf die Form legen,
also nicht automatisch von der VCL erstellen lassen, wärend sie die Form erstellt.
ok, werd die Komponente mal zur Laufzeit erzeugen, und P.s ja ich weis wie man Objekte erzeugt

das mit GetLastError muss ich mal schaun wie's funktioniert. F1 sollte weiterhelfen
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: DeleteFile löscht gewünschte Datei nicht

  Alt 4. Mär 2011, 13:31
wenn du das mit dem Antivirenprogramm bezweifeslt, dann kannst du dir das mit dem sleep sparen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#9

AW: DeleteFile löscht gewünschte Datei nicht

  Alt 4. Mär 2011, 13:35
nimm' lieber Delphi-Referenz durchsuchenSysErrorMessage oder gleich Hier im Forum suchenSysErrorMessage
> http://www.delphipraxis.net/158106-r...parameter.html (da DeleteFile = RenameFile, nja fast, paßt es ja)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#10

AW: DeleteFile löscht gewünschte Datei nicht

  Alt 4. Mär 2011, 13:39
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 !
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:40 Uhr.
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