Hallo,
ich steh ein wenig im Walde:
eigentlich will ich nur ne Datei schreiben - geht auch
aber ich will auch ne Notitz, wenns nich geklappt hat und das möglichst ohne die Datei wieder zurückzulesen
wenn ich Filestore für eine Datei aufrufe, für die ich Adminrechte brauche, bekomm ich keine Fehlermedung bein FileStraem.create, auch nicht beim .Writebuffer, selbst fs.size liefert die korrekte Anzahl bytes zurück; aber die Datei selbst wird natürlich nicht angelegt
hier das Fragment:
Delphi-Quellcode:
function FileStore(
name, content :
String) : Boolean;
var
fs : TFileStream;
s :
string;
begin
Result := false;
try
fs := TFileStream.Create(
name, fmCreate
or fmShareExclusive);
try
fs.WriteBuffer(PChar(content)^, Length(content));
if fs.size <> Length(content)
then
raise exception.Create('
nicht genug Rechte/Platz, um Datei '+
name +'
zu schreiben');
finally
freeAndNil(fs);
end;
Result := true;
...
except
Fehlermeldung
end;
ich hab das Gleiche nochmal mit FileCreate und Filewrite nachgebaut, auch da wird mir die korrekte Anzahl von Bytes als geschrieben zurückgemeldet, obwohl die Datei natürlich nicht angelegt wird;
da kann doch was nicht stimmen
achso : verwendete
IDE Borland® Delphi® für Microsoft® Windows™ Version 10.0.2288.42451; Win 7 Home Premium
mfg