![]() |
Problem mit Speicherung- da original Datei schreibschutz hat
Hi
ich habe ein Problem eine schreibgeschützte Datei zu überschreiben. Wenn ich den Codeablauf in Delphi mit Haltepunkten teste funktioniert es nur wenn ich das Programm dann "loslasse" bekomme ich eine Fehler-Meldung, das die Datei nicht gespeichert werden kann. Was auch klar wird, da der Schreibschutz noch immer gesetzt ist, es scheint mir als ob WinXP die Anweisungen nicht so schnell durchführen kannn, wie das Delphiprogramm die Anweisungen gibt.
Delphi-Quellcode:
Lösung ?if form6.neuesverzeichnisselect6=false then //neues Verzeichnis eigeben?-Nein begin if FileExists(squestverzeichnis4+'\'+squestdateiname4) then //überprüfen ob im alten Verzeichnis die Datei existiert begin fileex:=true; if (FileGetAttr(squestverzeichnis4+'\'+squestdateiname4) and faReadOnly) >= 0 then begin FileSetAttr(squestverzeichnis4+'\'+squestdateiname4, FileGetAttr(squestverzeichnis4+'\'+squestdateiname4) xor faReadOnly); end; deletefile(squestverzeichnis4+'\'+squestdateiname4); end; memouebergabeneu.Lines.SaveToFile(squestverzeichnis4+'\'+squestdateiname4); end; |
Re: Problem mit Speicherung- da original Datei schreibschutz
Hallo, 2 Dinge fallen mir auf:
Zitat:
Zitat:
Delphi-Quellcode:
FileSetAttr(squestverzeichnis4+'\'+squestdateiname4,FileGetAttr(squestverzeichnis4+'\'+squestdateiname4) and not faReadOnly);
|
Re: Problem mit Speicherung- da original Datei schreibschutz
Weiter Möglichkeit: Virenscanner! Oh da wurde etwas geändert - Dann Check ich mal die ganze Datei asynchron.
|
Re: Problem mit Speicherung- da original Datei schreibschutz
Zitat:
Zitat:
wohl blind gewesen in den anderen Abfragen hab ich auch immer nur > stehen.
Delphi-Quellcode:
das heißt doch das überprüft wird ob Schreibschutz auf der Datei im Ordner gesetzt ist und wenn ja dann
FileSetAttr(squestverzeichnis4+'\'+squestdateiname4,FileGetAttr(squestverzeichnis4+'\'+squestdateiname4) and not faReadOnly);
schreibschutz aufheben - korrekt? |
Re: Problem mit Speicherung- da original Datei schreibschutz
Nicht ganz korrekt. Das heißt, das Schreibschutzattribut auf jeden Fall entfernen (wenn es vorher nicht gesetzt war, passiert auch nichts).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 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