请高手看一个ActiveForm的问题(200分)(200分)

  • 主题发起人 主题发起人 xuecw
  • 开始时间 开始时间
X

xuecw

Unregistered / Unconfirmed
GUEST, unregistred user!
我在ActiveForm中创建了个Form,上面放许多Edit,还有几个Combox。
创建Form我是这样的:
Form1:= TForm1.Create(Application);
Form1.Show();
可是当我在客户端连续几次打开并关闭某个Form后,IE出错,提示:
error reading combox1.items.string: win32 error .code :87
我将整个IE关掉后,又提示错误:stack overflow
我怀疑是资源未释放掉,于是在OnDestory事件中加入: free,可不管用。
我在服务器端试了一下却发现没问题。
请高手指教,不胜感激!!!!200分奉上!!!
 
关闭某个Form后應該Free這個form
 
在每次创建Form之前判断是否已经创建!
 
Form 建议用ShowModal,如果一定要用show的话记得每次释放资源,FreeAndNil(Form1)
如果不需要释放的话,就在create之前判断是否需要create,if assigned(form1) then
...
 
如果是ActivexForm,我勸你還是不要自己去管理他的創建和內存的釋放,
如果有其他的Form的話,你要注意他的創建和資源的釋放,

Form1:= TForm1.Create(nil);
try
Form1.Showmodal();
finally
form1.free;
end;
 
with TForm1.Create(nil)do

try
showmodal;
finally
free;
end;

 
谢谢各位,我在OnClose事件中用release方法释放掉Form解决了问题!
 
activeform中,对于资源的释放的确是一个令人头痛的问题,解决这个问题,处理所有的form
的释放用release方法外,还要自己写一些接口,来供外部的asp调用,来释放ocx的资源,
这样才不会造成刷新多次过后,可用内存越来越少的现象
 
是啊,网页刷新问题是比较麻烦一点,仅仅在窗体关闭时释放是不够的
 
多人接受答案了。
 
后退
顶部