N
netCobra
Unregistered / Unconfirmed
GUEST, unregistred user!
祖先窗口frmAncestor为MDI子窗口,在OnClose事件中写了:
frmAncestor.Free;
frmAncestor := nil;
但是继承出来的子窗口无法正确关闭,现象是第一次运行的时候正常,第二次运行的时候就会出错,我打开子窗口的语句是这样子写的:
if not Assigned(frmChild) then
frmChild := TfrmChild.Create(frmChild);
frmChild.Show;
单步跟踪发现第一次打开子窗口关闭后,frmChild不是nil,但是Show也无法正确显示,不知道哪里出问题了。
我在子窗口的OnClose事件中写:
frmChild.Free;
frmChild := nil;
就可以了。
但是我不太明白到底什么地方出了问题,难道祖先窗口的OnClose事件子窗口没有继承吗?如果没有继承,那么为什么第一次关闭以后frmChild既不为nil,又不能正确Show呢?
frmAncestor.Free;
frmAncestor := nil;
但是继承出来的子窗口无法正确关闭,现象是第一次运行的时候正常,第二次运行的时候就会出错,我打开子窗口的语句是这样子写的:
if not Assigned(frmChild) then
frmChild := TfrmChild.Create(frmChild);
frmChild.Show;
单步跟踪发现第一次打开子窗口关闭后,frmChild不是nil,但是Show也无法正确显示,不知道哪里出问题了。
我在子窗口的OnClose事件中写:
frmChild.Free;
frmChild := nil;
就可以了。
但是我不太明白到底什么地方出了问题,难道祖先窗口的OnClose事件子窗口没有继承吗?如果没有继承,那么为什么第一次关闭以后frmChild既不为nil,又不能正确Show呢?