if not Assigned(frmHZMSG) then
begin
frmHZMSG := TfrmHZMSG.Create(nil);
frmHZMSG.ShowModal;
FreeAndNil(frmHZMSG);
end
else frmHZMSG.BringToFront;
这在有这么一个问题,我用Constructor和destructor创建和释放一个类,并在这个类中有Execute过程,在Execute过程中执行上面所述代码,可是frmHZMSG窗体弹出之后怎么都关不掉,frmHZMSG的close和Destroy事件中都写了释放内存的语句,还是没用,请问各位大侠有没什么好的办法,在线等,急!客户叫死了
解决方案 »
- W1033 Unit 'GridsEh' implicitly imported into package 'EhLib110'
- 为什么fastReport 4做的报表每页就1行记录?
- delphi 7的中 TIdTCPClient组件ReadLn超时不能用怎么解决?
- delphi7编译的程序在VISTAR上无法运行,请问如何解决??
- 请问各位,DBGridEh合计如何自动计算
- 编译时出现‘symbol 'TRzToolbarButton' is deprecated’的错误提示,是什么意思 ?
- 怎样调试COM+程序,我参照了几篇文章的做法都不行?
- 穷啊,谁送我一些分吧,羊毛出在羊身上啊!我又没有可用分了!
- ...怎么在菜单中加入分割条?
- Qreport自动分页后第二页数据错位,怎么样可以让它表头不变的显示而不错位呢?????
- SpeedButton的transparent属性为true ,Flat:=True 一运行程序仍然不透明,怎么办!!
- 基于delphi TCPclient与TCPserver的聊天程序
onDestroy里,写了frmHZMSG := Nil;:(,没人知道吗? 如果描述得不清楚可以问我
当你用frmHZMSG.ShowModal;
窗体是显示了
但它的焦点仍然在主程序里,也就说它的焦点并没有转移到frmHZMSG窗体上
因此你关闭它的时候,,frmHZMSG的close和Destroy事件是没有被执行的
但如果改为frmHZMSG.Show
效果就不一样了 这个时候程序执行的焦点就转移到了frmHZMSG上了
你可以试一下
如果不是线程类,ShowModal 换成show
if not Assigned(frmHZMSG) then
begin
frmHZMSG := TfrmHZMSG.Create(nil);
frmHZMSG.Show;
//FreeAndNil(frmHZMSG);
end
else frmHZMSG.BringToFront;