DeleteFile() versagt ... [Fehlalarm]

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

DeleteFile() versagt ... [Fehlalarm]

Beitrag von AND51 »

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.
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
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

>Ein optionales Flag mit einbauen. Wenn dies auf 1 gesetzt ist, wird die Datei auch gelöscht, wenn sie schreibgeschützt ist.

Darüber würden sich Anwender Deiner Programme wirklich freuen! :?
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Benutzeravatar
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

Beitrag von ts-soft »

AND51 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.
Da stürzt nichts ab. Ansonsten schließe ich mich meinem Vorredner an. Wenn ich Dateien auf ReadOnly setze, hat das jedes Programm zu beherzigen
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.
Bild
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Beitrag von a14xerus »

und wenn dann bau dir doch soeine funktion *gg*
Alles dazu nötige ist bei PB drin.... :allright:
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

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:

Code: Alles auswählen

RunProgram("del.exe", "/F datei.htm", "")
2. Variante:

Code: Alles auswählen

DeleteDirectory(Verzeichnis$, Pattern$, #PB_FileSystem_Force)
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?
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
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

Beitrag von ts-soft »

ts-soft hat geschrieben:Da stürzt nichts ab.
// Nachtrag
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.
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

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.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
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

Beitrag von ts-soft »

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.
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

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... :(
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
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

Beitrag von ts-soft »

>> aber was mache ich dann falsch?
Hellsehen gefordert :mrgreen:
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.
Bild
Gesperrt