16,748
社区成员
发帖
与我相关
我的任务
分享
var
form2:tform;
page1:tmypage;
begin
form2:=tform.create(form1{self}); // form2对象的释放交由form1自动完成,假设form1是主窗体,那它即self
page1:=tmypage(form2);// page1对象的释放就由form2负责,不是窗体也可以
// 只要它是个TComponet类或其后代类,实际上所有从TPersistent继承的对象
// 都由vcl内存实现了该功能,你只要确保最顶端的owner(属主,最外层容器)
// 释放了,那么所有属于它的对象都能自动释放
.......
// 最后form1销毁时,就会销毁form2,form2销毁时就销毁page1
// 你只要明确顶层的owner(这里是form1)销毁就行了
form1.free;
end;
另外dll如果频繁使用,静态调用就得了