首页 新闻 会员 周边

python调用dll释放问题

0
悬赏园豆:100 [待解决问题]

小弟用python 写了个调用SiInterface.dll的adaptor.exe

这里有调用win32api.FreeLibrary()释放dll了,

运行该adaptor.exe后,做完一个交易后,其他程序调用这个dll做交易就会加载不到这个dll,请问是我没释放成功SiIterface.dll 还是adaptor.exe打开运行后,他就一直占用着SiInterface.dll

因为在使用adaptor.exe做完一个交易后关闭该exe,再使用别的程序调用SiInterface.dll就是ok的,请教各位大神如何在不关闭adaptor.exe情况下 还能是别的程序能够访问该SiInterface.dll

 1 def call_mi_dll(sIn):
 2     dll = ctypes.WinDLL('SiInterface.dll')
 3     sIn += ' '*(512-len(sIn))
 4     sOut = ' '*512
 5     i=' '*1024
 6     i=ctypes.c_char_p(i)
 7     sIn = ctypes.c_char_p(sIn)
 8     sOut = ctypes.c_char_p(sOut)
 9         print "calling: SiInterface.dll -> INIT"
10     ret=dll.INIT(i)
11     print "Init :"+str(ret)
12     print "calling: SiInterface.dll -> BUSINESS_HANDLE"
13     dll.BUSINESS_HANDLE(sIn, sOut)
14     win32api.FreeLibrary(dll._handle)
15     return sOut.value
sevenjohnny的主页 sevenjohnny | 初学一级 | 园豆:102
提问于:2013-07-09 14:37
< >
分享
所有回答(1)
0

拉倒吧,博客园有几个研究这的

SOUTHER | 园豆:825 (小虾三级) | 2013-07-28 22:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册