Einzelnen Beitrag anzeigen

mentaltec

Registriert seit: 28. Sep 2012
60 Beiträge
 
#1

Exceptions/Rückmeldung bei TFilestream

  Alt 28. Sep 2012, 12:47
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

Geändert von mentaltec (28. Sep 2012 um 13:08 Uhr)
  Mit Zitat antworten Zitat