我有一个表单,我为它编写了自己的构造函数:
constructor Create(AOwner: TComponent; AParent: TWinControl; ASender: TMyClass;
ATab: String); reintroduce; overload;
要创建这样的表单,我使用以下内容:
try
MyForm := TMyClassForm.Create(nil, Self.Parent, Self as TMyClass, 'FirstTab');
MyForm.ShowModal;
finally
MyForm.Free;
end;
在其他地方,在开始一个程序之前,我需要检查这个表单是否打开,所以我检查它的存在:
if (Assigned(MyForm)) and (MyForm.Active) and (MyForm.Showing) then
// Don't do the procedure
else
// Do the procedure
现在,如果我打开表单并关闭它,并检查这个条件语句,每次我得到 true,但表单没有打开并且不再显示,因为我在创建后释放了它。
知道可能是什么问题吗?