![]() |
Löschen von Jpeg Dateien
Hallo
ich möchte Jpeg Bilder aus einem Verzeichnis löschen die ich vorher in einem Image betrachten kann. Leider stürzt das Programm dann ab, die Exe Datei verschwindet und ich bekomme eine Project.exe.000 Datei ?! Was mache ich falsch? Auch wenn ich das Image vorher mit
Delphi-Quellcode:
lösche, gleiches Symptom :)
Image1.Picture.Assign(Nil);
Delphi-Quellcode:
uses jpeg...
procedure TForm1.Button1Click(Sender: TObject); var FileName: string; i: integer; begin for i := 1 to 10 do begin FileName := 'c:\temp\delPic\' + IntToStr(i) + '.jpg'; Image1.Picture.LoadFromFile(Filename); ... Image1.Picture.Assign(Nil); if FileExists(FileName) then DeleteFile(FileName); end; end; |
AW: Löschen von Jpeg Dateien
Lass die Schleife mal rückwärts laufen.
|
AW: Löschen von Jpeg Dateien
Was sagt dein Virenscanner? Da scheint mir irgendwas deine Exe als Gefahr einzustufen und diese zu deaktivieren (umbenennen). Dein Code ist auf jeden Fall nicht dafür verantwortlich. Schau dir mal die Logs deines Virenscanners an.
|
AW: Löschen von Jpeg Dateien
Zitat:
Auch Image1.Picture zu löschen ist egal, da die Datei nur kurz während des LoadFromFile geöffnet ist und es danach keine Verbindung mehr zur Datei gibt. Das FileExists ist im Prinzip auch egal (für den gezeigten Zeil des Codes), da die Datei definitiv vorhanden sein muß, weil wenn nicht, dann raucht das LoadFromFile vorher schon mit einer Exception aus der Methode raus. Keine Ahnung was
Delphi-Quellcode:
ist, aber bis auf LoadFromFile kann es hier keine Exception geben.
...
DeleteFile liefert einen Fehlercode, wobei hier weder dessen Result noch GetLastError ausgewertet wird. Und nichts an dem gezeigten Code kann das Programm beenden, da die VCL um den Aufruf dieser Methode ein Try-Except hat und dann via Application.ShowException den Fehler nur anzeigt. |
AW: Löschen von Jpeg Dateien
Zitat:
...und wirft mir bösartiges Verhalten vor!:shock: Frank |
AW: Löschen von Jpeg Dateien
Dann schmeiss das Teil weg und nutze den Windows Defender. Der macht seinen Job besser als die meisten teuren AV-Programme.
|
AW: Löschen von Jpeg Dateien
Würde ich gern, hab ich aber nicht zu entscheiden...:(
|
AW: Löschen von Jpeg Dateien
Wenn du schon auf FileExists prüfst, dann solltest du das schon vorher machen und nicht erst versuchen, das Bild zu laden.
So ähnlich hat es himitsu schon geschrieben.
Delphi-Quellcode:
uses jpeg...
procedure TForm1.Button1Click(Sender: TObject); var FileName: string; i: integer; begin for i := 1 to 10 do begin FileName := 'c:\temp\delPic\' + IntToStr(i) + '.jpg'; [B]if FileExists(FileName) then begin[/B] Image1.Picture.LoadFromFile(Filename); ... Image1.Picture.Assign(Nil); DeleteFile(FileName); end; end; end; |
AW: Löschen von Jpeg Dateien
Danke für die Antworten.
Auf den Virenscanner bin ich noch gar nicht gekommen. Benutze tatsächlich OfficeScan Trend Micro. Werde gleich mal das Protokoll des Scanners untersuchen und dann berichten. Ich kann aber auch keinen anderen Virenscanner benutzen, da mein Rechner in einer AD Domain mit Trend Micro Worry Free Business Solution mit ca. 50 Usern eingebunden ist. |
AW: Löschen von Jpeg Dateien
Tatsächlich !
Es war der Virenscanner Trend Micro.:shock: Der wirft das Ding raus. Im Protokoll heißt die Ursache/Bedrohung "unauthorized file encryption". Habe jetzt das Verzeichnis und die entsprechende .exe Datei bei der Echtzeitsuche unter Ausnahmen hinzugefügt. Jetzt läuft es wie geschmiert ! Vielen Dank nochmal für den super Hinweis :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 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