请问各位大下在窗体FORM1中可以反复用SHOWMODAL另一个FORM2,FORM2中的控件在关闭时是否要释放?怎样释放???(50分)

  • 主题发起人 主题发起人 jiceyang
  • 开始时间 开始时间
J

jiceyang

Unregistered / Unconfirmed
GUEST, unregistred user!
我在MAIN FORM中用SHOWMODAL方法调用FORM2,在FORM2中有其他控件如MEDIAPLAYER1,如果
我多次调用,在播放时他会说 。。。MMX。。设备名已经被占用,我想可能是在关闭FORM2时
没有将FORM2中的资源释放 请问怎样才能将FORM2中的资源彻底释放包括控件的????
 
第一,窗体设为手工创建,从工程文件中去掉创建语句
第二,窗体代码中在ONCLOSE事件中写如下语句,Action:=caFree;
第三,这样凡是属于窗体的构件都会删除,但如果动态创建了不属于窗体的构件则需要
手工删除,可以写在窗体的析构函数中。
 
可能是MEDIAPLAYER的原因,用它放声音,关闭了歌还在唱。
 
如果你在showmodal之前,create则释放,如果你是程序创建则不用释放
 
写几句代码给你
with tform2.create(self) do begin
try
showmodal;
finally
free;
form2:=nil;
end;
end;
 
在关闭FORM2前MEDIAPLAYER1.CLOSE,然后Application.terminate ,系统将自动释放内存!
 
谢谢各位 搞顶了
 

Similar threads

后退
顶部