delphi – Form.Release NIL
发布时间:2020-12-15 04:27:05 所属栏目:大数据 来源:网络整理
导读:如果Form.Release在使用该表单后调用,它将释放所有相关内存,但不会将该窗体变量设置为nil. if not assigned (Form1) then begin Application.CreateForm(Tform1,Form1); try // Do something finally Form1.Release end; end; 为了能够再次调用相同的代码,Fo
如果Form.Release在使用该表单后调用,它将释放所有相关内存,但不会将该窗体变量设置为nil.
if not assigned (Form1) then begin Application.CreateForm(Tform1,Form1); try // Do something finally Form1.Release end; end; 为了能够再次调用相同的代码,Form1在某些时候必须设置为nil.从发布我的描述不能做 Form1 := nil; 在释放之后,因为释放过程将在被调用之后直接返回,并且在实际上释放该表单之前.当Form.Release完成后,我无法检测到将表单var设置为nil. 这样做最好的方法是什么? 霍尔格 解决方法
放线
Form1 := nil; 刚刚打电话给Release. 发布只是向窗体发布一个CM_RELEASE消息,允许窗体在处理CM_RELEASE消息之前完成其队列(事件处理程序)中的内容,这意味着通常只是调用Free.所以,在调用Release之后,你不应该假定Form变量仍然指向一个有效的Form,因此把nil放在变量中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |