Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi TStringList.SaveToFile fails (https://www.delphipraxis.net/205356-tstringlist-savetofile-fails.html)

Dalai 1. Sep 2020 10:06

AW: TStringList.SaveToFile fails
 
Zitat:

Zitat von haentschman (Beitrag 1472724)
...das würde aber für den ganzen Computer gelten.

Nicht notwendigerweise. Im genannten Fall bei uns ging es um ein Verzeichnis auf der Datenpartition (im Eigene Dateien, wenn ich mich recht erinnere). Ein solcher Schutz kann bzw. sollte natürlich auf alles wirken, was vom Nutzer schreibbar ist, um einen möglichst guten Schutz zu bieten - mit allen Vor- und Nachteilen, die sich daraus ergeben. Im Defender kann/muss man ja Ausnahmen definieren, IIRC geht das sowohl für Programme als auch Verzeichnisse. Im Defender sind wahrscheinlich ein paar Ausnahmen vordefiniert, und das ist vielleicht bei 3rd party Scannern auch der Fall.

Grüße
Dalai

haentschman 1. Sep 2020 10:15

AW: TStringList.SaveToFile fails
 
Zitat:

Aber wahrscheinlich ist bei dir gar kein Threading im Spiel oder?
...leider nein. :?

Ich habe jetzt erstmal eine Version gemacht die vor dem Schreiben die Anzahl der Lines ausgiebt und danach GetLasError. Dann schauen wir weiter...:wink:

himitsu 1. Sep 2020 14:08

AW: TStringList.SaveToFile fails
 
Wenn es die Firewall ist, dann sollte sie im WriteFile einen ErrorCode zurückgeben, dass das Schreiben abgebrochen wurde und das würde im TFileStream eine Exception auslösen (bei den BlockWrite-Funktionen) und bei den Anderen (Write-Funktionen) kommt 0 als Result zurück und der Entwickler sollte das beachten.

Von den Schreibrechten könnte es sein, dass Erstellen erlaubt ist, aber Verändern nicht,
aber trifft hier nicht zu, da diese Rechte nur im CreateFile geprüft werden und das hier auch nur neu "Erstellt".

Auch wenn die Partition voll ist, bzw. wenn für diese Partition oder das Verzeichnis ein Quota eingerichtet wurde, dann würde auch da ein Fehler ausgeöst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:46 Uhr.
Seite 2 von 2     12   

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