ASP调用COM组件以后,到底应该怎么样进行释放? ( 积分: 100 )

  • 主题发起人 主题发起人 明月几时有
  • 开始时间 开始时间

明月几时有

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ASP调用DELPHI编写的COM组件,我想再次编译这个COM组件的时候总是提示我说Could not Create OutputFile 'testpro.dll',就是说这个DLL没有被释放掉,那我应该怎么样才能把这个DLL给释放掉呢??
ASP的调用代码是
set obj = server.createobject("testpro.optest")
obj.test 13,18
set obj=Nothing
 
我用ASP调用DELPHI编写的COM组件,我想再次编译这个COM组件的时候总是提示我说Could not Create OutputFile 'testpro.dll',就是说这个DLL没有被释放掉,那我应该怎么样才能把这个DLL给释放掉呢??
ASP的调用代码是
set obj = server.createobject("testpro.optest")
obj.test 13,18
set obj=Nothing
 
重新启动IIS
 
以前做过, 忘了,你最好是先用调试的方法
 
你DELPHI程序里面COM组件是否加载了其他的DLL,还有就是你创建的这个对象使用以后应该要释放,建议你再写一个DELPHI程序来调用这个ASP的程序,两个程序一起调试,这样可以比较准确的找到问题。
如果你是急用的话,就重新启动IIS就可以了。
 
这个问题我看了我以前做的,你运行完一次以后要把IIS中该应用程序卸载掉,因为IIS会缓存用过的COM组件,重新启动机器或者IIS的时候它才释放
 
asp模式下的COM+调用没有作过,在普通程序调用中,程序调用COM+是通过DELLHOST.DLL这个系统库管理的,当你的调用完成后COM+对象不会自动释放,它的相关设置见“组件服务”,你要自己在组件服务中关闭该COM+对象即可。我想ASP下的应该是一样的,你可以试试
 
要重起iis 就可以了 或者把www 的iss.服务器重起一下就可以了
 
多人接受答案了。
 
后退
顶部