B bk_hs Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-05 #1 近日,小生我碰到一个问题,在关闭MDI的子窗体后,再打开该窗体(该窗体只能开一个),报错,错误信息说什么地址错。 望有人指点一下。 代码:
死 死水 Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-05 #2 可能是你"关闭MDI的子窗体"的时候把它给释放了,然后你直接show它当然会出错, 你需要先create,然后再show, 或者"关闭MDI的子窗体"的时候只是hide,然后你再show它就不会出错,
W wanzhigang Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-05 #3 字窗口的建立是要用代码进行的吧,你是吗? 如果语句如下 if <form_name>=nil then begin <form_name>.<Tform_name>.create(self); end; 那么就必须在onclose事件中加入语句 action:=cafree <form_name>:=nil;
字窗口的建立是要用代码进行的吧,你是吗? 如果语句如下 if <form_name>=nil then begin <form_name>.<Tform_name>.create(self); end; 那么就必须在onclose事件中加入语句 action:=cafree <form_name>:=nil;
B bk_hs Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-05 #4 不是的,我现在close子窗体的时候,他没有真正释放掉,我用Assign判断该窗体对象还存在,但是show的时候出错
L l213 Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-05 #6 mdi窗体没有关掉,在主窗体是是可以看到的。 如果没关掉的话,那就是你在onshow事件里面执行也某种操作而引起的。
W wanzhigang Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-05 #7 assign和用=nil来判断是相同的较果。 如果没有<form_name>:=nil,在释放了窗口后,变量中的值并不会变成nil,因为它只是 一个指向被分配的地址,但实际分配的空间已经释放了,所以会报错。 就像邮箱地址指向的是一个已经被删除了的邮箱,你的信当然会被退回来(即出错)
assign和用=nil来判断是相同的较果。 如果没有<form_name>:=nil,在释放了窗口后,变量中的值并不会变成nil,因为它只是 一个指向被分配的地址,但实际分配的空间已经释放了,所以会报错。 就像邮箱地址指向的是一个已经被删除了的邮箱,你的信当然会被退回来(即出错)