メモリーが足りませんと出ましたので
FastMM4を使ってみたところ、いっぱい出てきました。
以下のコードが原因でした。
type
PMeisyoData = ^TPMeisyoData;
TPMeisyoData = record
id:integer;
str:string;
end;
function NewFamilyData(FD:TPMeisyoData):PMeisyoData;
begin
New(result);
result^ := FD;
end;
//登録時
procedure TForm1.Button1Click(Sender: TObject);
var TM:TPMeisyoData;
begin
tm.Id:=1;
tm.str:='テスト';
with Grid1 do
Objects[1,1]:=TObject(NewFamilyData(tm));
end;
//取り出し
procedure TForm1.Button2Click(Sender: TObject);
var TM:TPMeisyoData;
begin
with Grid1 do
tm:=PMeisyoData(Objects[1,1])^;
ShowMessage('id:'+inttostr(tm.id)+' 文字:'+tm.str);
end;
勝手に開放してくれると思っていましたがそうではなかったみたいです。
|