请教dll是否可以FreeLibrary自己?
另外,主窗口中a = new TStringList();然后将a传到dll中
因为dll中有form,显示时是->Show();
我在form->close时
if(a)delete a;a=0;
这样老是有err,说a的指针为0(但是已经使用过a,之前也没有delete)
问题点数:100、回复次数:10Top
1 楼constantine(飘遥的安吉儿)回复于 2004-11-03 22:56:36 得分 40
请教dll是否可以FreeLibrary自己?
不可以吧
a=NULL;
试试看Top
2 楼myy()回复于 2004-11-04 08:43:41 得分 30
那个 a 在主窗体中new 和delete 不行吗?干吗要在dll 中 delete?Top
3 楼sunliwen780502(孙立文)回复于 2004-11-04 08:57:54 得分 6
dll是不能自己FreeLibrary自己的.Top
4 楼3996906(我只是建议,不提供最后的解决方法)回复于 2004-11-04 09:07:48 得分 6
不能吧~~~~~~~要出错滴~~~Top
5 楼zzlong()回复于 2004-11-04 09:28:18 得分 3
noTop
6 楼zw1112001()回复于 2004-11-04 11:00:29 得分 3
I服了You,程序里不允许有自杀行为!Top
7 楼fall1979(秋风)回复于 2004-11-04 13:15:49 得分 6
在Form的FormClose中添加
Action=caFree看看!Top
8 楼dgyanyong(幸运飞龙)回复于 2004-11-04 13:59:57 得分 3
不能Top
9 楼liangle(帮人帮到底)回复于 2004-11-04 21:36:28 得分 0
myy, 是这样的,在主窗口中new 出来的a到dll中的form会不定时用到,而且form不是ShowModal,所以不能确定什么时候删除。
我测试过,我没有FreeLibrary,在application shutdown的时候会自动调用DllEntryPoint,(我把delete的动作放在此处)但是只会调用一次,而我在动态调用此dll时是把HINSTANCE dll变量放在方法当中的,也就是说dll被多次LoadLibrary,但还是只会调用一次DllEntryPoint,各位有没有方法让主窗口知道dll的窗口(只会有一个)关闭,谢谢了!Top
10 楼mingkui(铭葵)回复于 2004-11-05 00:51:03 得分 3
哈哈 没有什么意义吧Top




