SetLengthで長い文字列や動的配列の長さを確保した場合、処理が終わったらFinalizeで解放しないと
いけないのだろうか?
type
TMyRec = packedrecord
Dat1:SmallInt;
Dat2:Integer;
end;

TMyAry = array ofTMyRec;

procedureTForm1.Button3Click(Sender:TObject);
var
IDX:Integer;
FFile:TFileStream;
Dat:TMyAry;
begin
if not OpenDialog1.Execute thenExit;
FFile:= TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
IDX:= FFile.SizedivSizeOf(TMyRec);
SetLength(Dat,IDX);
try
FFile.Read(Dat[0],FFile.Size);
finally
FFile.Free;
Finalize(Dat); //これははたして必要か?
end;
end;