record 类型指针变量内存释放问题。
定义一个结构
type
pSendMsg =^TSendMsg;
TSendMsg= packed record
Source:String;
Dest:String;
Content:String;
end;
var
为了测试内存得释放情况。设置了一下下面得程序
在一个Timer 得ontimer事件中,申请内存,释放内容。
procedure TForm1.Timer1Timer(Sender: TObject);
var
sdMsg :pSendMsg;
br:Boolean;
begin
new(sdMsg) ;
sdMsg^.Source:='Source';
sdMsg^.Dest :='Dest';
sdMsg^.Content:='Hello World';
dispose(sdMsg);
//sdMsg := Nil;
end;
结果发现随着程序得运行,这个程序使用得内存越来越大!
这是为什么,难道是没有释放内存么?
但是dispose不是已经把内存释放了么!