DeleteFile() versagt ... [Fehlalarm]
DeleteFile() versagt ... [Fehlalarm]
Hallo!
Die Überschrift sagt eigentlich schon alles: Wenn ich eine Datei schreibschützen lasse und dann mit DeleteFile() löschen will, stürzt das Programm ab.
Mein Vorschlag, wenn man schon dabei ist, das zu verbessern:
Ein optionales Flag mit einbauen. Wenn dies auf 1 gesetzt ist, wird die Datei auch gelöscht, wenn sie schreibgeschützt ist.
Ist das Flag nicht auf 1 gesetzt, wird folgendeszurückgegeben:
größer 0: Datei wurde erfolgreich geöscht
0: datei konnte nicht gelöscht werden (warum auch immer)
-1: Datei kann nicht gelöscht werden, weil schreibschutz
FileSize() gibt ja auch verschiedene Werte zurück, falls jetzt jemand z. B. meint, dadurch würde DeleteFile() zu unübersichtlich werden oder so.
Die Überschrift sagt eigentlich schon alles: Wenn ich eine Datei schreibschützen lasse und dann mit DeleteFile() löschen will, stürzt das Programm ab.
Mein Vorschlag, wenn man schon dabei ist, das zu verbessern:
Ein optionales Flag mit einbauen. Wenn dies auf 1 gesetzt ist, wird die Datei auch gelöscht, wenn sie schreibgeschützt ist.
Ist das Flag nicht auf 1 gesetzt, wird folgendeszurückgegeben:
größer 0: Datei wurde erfolgreich geöscht
0: datei konnte nicht gelöscht werden (warum auch immer)
-1: Datei kann nicht gelöscht werden, weil schreibschutz
FileSize() gibt ja auch verschiedene Werte zurück, falls jetzt jemand z. B. meint, dadurch würde DeleteFile() zu unübersichtlich werden oder so.
Zuletzt geändert von AND51 am 05.11.2006 01:01, insgesamt 1-mal geändert.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Bug: DeleteFile() versagt bei schreibgeschützten Dateien
Da stürzt nichts ab. Ansonsten schließe ich mich meinem Vorredner an. Wenn ich Dateien auf ReadOnly setze, hat das jedes Programm zu beherzigenAND51 hat geschrieben: Die Überschrift sagt eigentlich schon alles: Wenn ich eine Datei schreibschützen lasse und dann mit DeleteFile() löschen will, stürzt das Programm ab.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Ich habe keine naegativen absichten, nur weil ich dieses Feature einbauen will.
Mir geht es hier nur um die tatsache, dass hier ein Bug vorliegt.
Wenn ich wollte, kann ich die Datei auch anders löschen:2. Variante:
Mir doch egal, ob ich hier irgendwas beherzigen soll @ TS-Soft, Bug ist und bleibt Bug. Ich bin gerade dabei, einen Cleaner zu bauen, der temporäre Dateien und einige weitere löscht. Wenn da mal eine schreibgesschütte bei ist, dann gute Nacht. Wollte ich einen Virus o. Ä. schreiben, würde ich nicht fragen, sondern direkt eine meiner alternativmööglichkeiten benutzen. Der Explorer kann ja schließlich auch Dateien löschen, die schreibgeschützt sind, das kratz den Benutzer dann auch nicht, wenn er vor hat etwas bestimmtes zu löschen.
Also... Könnte sich vielleicht ein ranghohes PB-Teammitglied eventuell dazu äußern?
Mir geht es hier nur um die tatsache, dass hier ein Bug vorliegt.
Wenn ich wollte, kann ich die Datei auch anders löschen:
Code: Alles auswählen
RunProgram("del.exe", "/F datei.htm", "")
Code: Alles auswählen
DeleteDirectory(Verzeichnis$, Pattern$, #PB_FileSystem_Force)
Also... Könnte sich vielleicht ein ranghohes PB-Teammitglied eventuell dazu äußern?
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Bug: DeleteFile() versagt bei schreibgeschützten Dateien
// Nachtragts-soft hat geschrieben:Da stürzt nichts ab.
Einige Dateien im tmp Ordner sind in Verwendung, die lassen sich nicht löschen.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Wenn ich eine schreibgeschütze Datei löschen will, dann stürzt das programm amt laufendem debugger ab, mit der Meldung "Invalid memory access".
Die Datei ist garantiert nicht in benutzung, weil ich massenhaft Dummyfiles vor jedem Testlauf erstelle, darunter sind eben einige schreibgeschützt.
Die Datei ist garantiert nicht in benutzung, weil ich massenhaft Dummyfiles vor jedem Testlauf erstelle, darunter sind eben einige schreibgeschützt.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Wie oft denn noch, bei mir stürzt nichts ab, auch mit Debugger. Habs doch getestet.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Ich glaub's dir, aber was mache ich dann falsch? Oder liegt es an dem neuen Updtae 4.01? Oder muss ich mir noch irgendwelche PB-Dateien hinzu- oder weg-installieren?
Ich kann mir das Phänomäen nicht erklären...

Ich kann mir das Phänomäen nicht erklären...

PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
>> aber was mache ich dann falsch?
Hellsehen gefordert
Wo ist Dein Source?
Benutze ebenfalls 4.01 + 3 neue Beta Libs, die aber mit der File Lib nichts zu tun haben.
Hellsehen gefordert

Wo ist Dein Source?
Benutze ebenfalls 4.01 + 3 neue Beta Libs, die aber mit der File Lib nichts zu tun haben.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
