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;