Action:=caFree

柳飞鸾
2023-12-01
当form.onclose事件触发时,action参数会取一个值,缺省情况它取caMinimize,因为传参caMinimize的结果不会影响到已分配的类型实例指针空间,不然,可能会因为内存使用错误导致内存泄漏。   
       如果action:=cafree   就把分配给Tform类型实例的内存空间释放,但是,这仍然是不可靠的,因为,form实例的指针仍然指向这个内存地址,所以你必须在form.ondestroy事件中写如下代码:form:=nil;   
       这就完了吗?NO!   
       现在,你无法将它再实例化了,So,你在从新实例化它之前,必须如下:   

        if   not   assigned(form)   then   
          form:=Tform.create(self);   
          form.show;



说明:

form.free 销毁对象
from.close 关闭窗体
form:=nil 指针赋值 
 


 类似资料: