窗体继承时的问题,大家帮个小忙啊。

haochin 2010-04-07 06:04:22
我做了一个子窗体基类。FormA

在这个FormA的FormDestroy事件中写了
FormA := nil;


上面明显是错误的。。


新建一个窗体FormB继承FormA,关闭FormB,结果执行的却是
FormA : nil;



请问基窗体的FormDestroy事件要怎么写?
写成
Self := nil;
吗?显然不行啊。。。。
...全文
77 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongss 2010-04-08
  • 打赏
  • 举报
回复
一般用 Action:=Free就可以了
bdmh 2010-04-08
  • 打赏
  • 举报
回复
不用在销毁事件中写,即使写,也不要指定绝对的对象,比如FormA,那样所有子窗体都会去销毁FormA,对于模态窗体可以在Onclose事件中写Action:=caFree,
lhy 2010-04-07
  • 打赏
  • 举报
回复
析构函数自己会生成
  • 打赏
  • 举报
回复
inherited
火龙岛主 2010-04-07
  • 打赏
  • 举报
回复
什么都不用写!
iamduo 2010-04-07
  • 打赏
  • 举报
回复
TMyClass = class(TObject)
destructor Destroy;override;
end;

var aa:TMyClass;
begin
aa:=TMyClass.Create;
....
FreeAndNil(aa);
end;

// 以上,不需要释放TObject,因为TObject被TMyClass继承。
// 分配的时候由aa涵盖,所以,我以为,基类不需要去释放(包括ivf 的窗体)
haochin 2010-04-07
  • 打赏
  • 举报
回复
还是没搞定啊。。。。帮帮帮帮忙哦。兄弟朋友们。
dinoalex 2010-04-07
  • 打赏
  • 举报
回复
窗口跟组件一样,继承释构
chhrsas 2010-04-07
  • 打赏
  • 举报
回复
self.free
FreeAndNil(self) ?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧