【发布时间】:2010-01-15 23:20:34
【问题描述】:
这里已经讨论过了,但没有详细讨论。
我在尝试关闭非模态子表单时遇到了问题。我让它通知父母,但我收到抽象错误和其他异常。我究竟做错了什么?父母是否必须释放非模态表单,或者不再尝试通过该变量访问它?
主要形式:
NonModal := NonModalTForm.Create(Self);
NonModal.Callback := Callback;
NonModal.Show;
Procedure TForm.Callback; // called by non-modal form when closing
begin
FreeAndNil(NonModal); // or should this just be NonModal := nil so I don't try to access a dangling pointer?
end;
在 NonModal.pas 中
procedure NonModalTForm.FormClose;
begin
Callback; // calls parent
end;
【问题讨论】:
-
您的代码相当于切断您所在的分支的编程。
标签: delphi