当我们关闭一个帧时,它不会被释放,它仍然保留在内存中,它仍然被赋值。
如何跟踪TFrame的OnClose事件,才能释放帧?
发布于 2013-06-11 00:16:56
TFrame没有OnClose事件。您必须手动实现和跟踪它。但是,当您准备释放Frame对象时,您可以执行TForm.Release()所做的操作-向自己发布一条自定义消息,然后在消息处理程序中释放该对象。例如:
type
TMyFrame = class(TFrame)
private
procedure CMRelease(var Message: TMessage); message CM_RELEASE;
public
procedure Release;
end;
procedure TMyFrame.CMRelease(var Message: TMessage);
begin
Free;
end;
procedure TMyFrame.Release;
begin
PostMessage(Handle, CM_RELEASE, 0, 0);
end;当你需要释放框架时,只需调用Release(),它就会在最方便的时候自动释放。
https://stackoverflow.com/questions/17023076
复制相似问题