Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: array of byte (dynamisch) schreiben in FileStream

  Alt 18. Dez 2005, 13:19
Hi,
ok, würdest du bekommen wenn Fs lokal deklariert wäre, hier glaube ich nicht der Fall. Wenn es eine Klassenvariable ist, dann würde Fs nil sein und damit dürfte Free keine Exception auslösen. Aber gut, hast schon recht, aber um es wirklich sauber zu machen, solltest du immer darauf achten, dass die Erstellung eines FileStreams scheitern kann. Du solltest also mit einer Exception rechnen (z.B. fehlende Lese/Schreibrechte) und das ganze abfangen.

Dann natürlich eher:
Delphi-Quellcode:
const BUFSIZE = 1024;
begin
  try
    Fs := TFileStream.Create(fn, fmOpenReadWrite or fmShareDenyWrite);
    try
      setLength(ContentBlk, BUFSIZE);
      FillChar(ContentBlk[0], length(ContenBlk), $55);
      Fs.Seek(0, soFromBegining);
      Fs.Write(ContentBlk[0], BUFSIZE);
    finally
      Fs.Free;
    end;
  except
   // was auch immer
  end;
end;
  Mit Zitat antworten Zitat