首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于动态创建Frame有关问题,释放的报错

2012-03-15 
关于动态创建Frame问题,释放的报错动态创建Frame没问题,如下所示:Delphi(Pascal) codevarFfrm_Manual:TFrm

关于动态创建Frame问题,释放的报错
动态创建Frame没问题,如下所示:

Delphi(Pascal) code
   var      Ffrm_Manual:TFrm_Manual;

Delphi(Pascal) code
  if Ffrm_Manual<>nil then  begin    Ffrm_Manual.Free ;    Ffrm_Manual:=nil ;  end;  if Ffrm_Manual=nil then  begin    Ffrm_Manual :=Tfrm_ManualCal.Create(Application);    Ffrm_Manual .Parent :=Self ;    Ffrm_Manual.Align:=alClient ;    with Ffrm_Manual do



但是我在Frame本体里面的释放的时候,有时候会报错,有时候又不报错,如下面所示:
Delphi(Pascal) code
  procedure Tfrm_ManualCal.btn_CancelClick(Sender: TObject);  begin  if Ffrm_Manual<>nil then  begin    Ffrm_Manual.Free ;    Ffrm_Manual:=nil ;  end;  end;


[解决办法]
不要在对象的事件里释放本身
因为btn_Cancel.OnClick释放Frame,会导致btnCancel自己释放,所以可能出错
可以用发WM_Close消息之类的方法关闭,而不是直接Free

热点排行