0 0

python 调用dll后 释放问题0

小弟用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

def call_mi_dll(sIn):
	dll = ctypes.WinDLL('SiInterface.dll')
	sIn += ' '*(512-len(sIn))
	sOut = ' '*512
	i=' '*1024
	i=ctypes.c_char_p(i)
	sIn = ctypes.c_char_p(sIn)
	sOut = ctypes.c_char_p(sOut)
        print "calling: SiInterface.dll -> INIT"
	ret=dll.INIT(i)
	print "Init :"+str(ret)
	print "calling: SiInterface.dll -> BUSINESS_HANDLE"
	dll.BUSINESS_HANDLE(sIn, sOut)
	win32api.FreeLibrary(dll._handle)
	return sOut.value
2013年7月09日 15:03
目前还没有答案

相关推荐

    Python调用DLL实例

    本主题将深入探讨非MFC规则DLL、MFC规则DLL、MFC扩展DLL,并提供Python调用DLL的实例。 首先,我们来看非MFC规则DLL。非MFC(Microsoft Foundation Classes)规则DLL是指不依赖MFC库的DLL,它通常用于不使用MFC的...

    Python中调用C++dll例子

    3. 使用Python调用DLL 在Python中,我们导入`ctypes`模块,并加载`CreateDll.dll`: ```python import ctypes # 加载DLL dll = ctypes.cdll.LoadLibrary('CreateDll.dll') ``` 4. 定义函数原型 `ctypes`...

    Python 调用C# dll文件

    **三、Python调用C# DLL** 1. 引入`clr`模块,这是pythonnet提供的接口。 ```python import clr ``` 2. 加载C#的DLL文件,这一步会自动查找与DLL同名的程序集(Assembly)。 ```python clr.AddReference("YC.Demo...

    Python调用DLL文件.pdf

    - 加载后,可以使用点号(.)调用DLL中相应的函数,就像调用Python的内置函数一样。 - 如果需要传递参数给DLL函数,必须确保参数的数据类型和DLL函数所期望的类型匹配。 - 如果DLL函数返回值或需要传出参数,可能...

    python 调用 C++ dll 32位 64位 问题 ctypes.cdll.LoadLibrary

    t532.rar 测试代码 https://blog.csdn.net/wowocpp/article/details/105382257 python 调用 C++ dll 32位 64位 问题 ctypes.cdll.LoadLibrary

    python调用Delphi编写的DLL

    python调用delhpi xe2开放的dll 的例子 有输入参数,输出参数和返回值。

    ctypes库的使用 python调用Windows DLL

    ### ctypes库的使用:Python调用Windows DLL #### 一、ctypes库简介与功能 ctypes 是 Python 的一个标准库模块,它提供了与 C 兼容的数据类型,并且能够轻松地调用 C 库(DLL)中的函数。这对于那些需要与 C 语言...

    Python调用dll

    pyhton语言简单、快捷,入门很快,应用方便。调用dll文件也是得心应手,非常便捷。文档提供了示例代码,以及调用dll的步骤分析

    Python调用windows下DLL

    记住,调用DLL时一定要确保参数类型与DLL函数的预期类型相匹配,否则可能会导致程序错误或崩溃。同时,了解DLL函数的调用约定和参数类型是非常重要的,因为这直接影响到函数的正确调用和结果的正确性。

    Python调用C#动态链接库 DLL

    Python调用C#动态链接库 DLL 案例 python 版本 3.x dll 版本 .net standard 2.0 调用库 clr 安装 pip install pythonnet 调用接口 clr.AddReference

    python调用DLL带指针函数读ID卡

    在"Python调用DLL动态库读取ID卡号"的场景中,我们可能需要一个类似这样的C接口: ```c extern "C" { int readIDCard(char* idBuffer, int bufferLength); } ``` 这个函数接受一个字符数组`idBuffer`作为指针参数...

    python调用C#的dll 成功经验分享

    看了很多类似的文章,总是有这有那的问题,经自己测试,先分享成功经验 1.本人开发环境,python3.7 pycharm2019 ...3.将所需dll放置在调用py文件相同目录下 4.截图示意如下(自己的情况自己揣摩处理) 5.最后会显示相

    python引用DLL文件的方法

    ### Python引用DLL文件的方法 #### 引言 ...了解如何正确加载DLL、定义参数类型以及处理不同调用约定对于成功调用DLL中的函数至关重要。希望本文提供的方法能帮助你在实际项目中更好地利用DLL文件的功能。

    dll文件及Python调用方法(实例)addTest.dll

    Python调用DLL主要依赖于`ctypes`模块,这是一个用于调用C库的Python标准库。`ctypes`提供了与C语言兼容的数据类型,并允许我们导入和调用动态链接库中的函数。 首先,我们需要导入`ctypes`模块: ```python ...

    使用python来调用CAN通讯的DLL实现方法

    ### 使用Python调用CAN通讯的DLL实现方法 #### 背景介绍 在现代工业自动化、汽车电子等领域中,Controller Area Network (CAN) 总线技术被广泛应用。它是一种允许微控制器和设备在车辆或工业环境中进行通信的技术,...

    python 调用微信截图DLL加代码

    本话题聚焦于如何使用Python调用微信截图DLL,这通常是为了实现自动化任务,如自动化测试、数据抓取等场景。微信截图DLL是微信客户端提供的一种功能,允许用户通过编程方式截取微信屏幕快照。 首先,我们需要理解...

    Python调用DLL文件文.pdf

    Python调用Windows下的DLL文件是通过内置的`ctypes`模块来实现的,这个模块允许Python程序调用C语言编写的动态链接库(DLL)。`ctypes`提供了与C语言兼容的数据类型,并且能够自动处理类型转换和调用约定。 1. **加载...

    IronPython.dll和Microsoft.Scripting.dll

    通过引用IronPython.dll,C#开发者可以轻松地在C#程序中调用Python函数,实现动态编程,增强了代码的灵活性和可扩展性。 接着,我们来看看Microsoft.Scripting.dll。这个库是动态语言运行时(Dynamic Language ...

    python环境调用Fortran语言生成的动态链接库(一个简单的示例)

    python环境调用Fortran语言生成的动态链接库(一个简单的示例): 1. main.for integer function mysum(a, b) bind(C,name="mysum") !GCC$ATTRIBUTES DLLEXPORT,CDECL :: mysum integer, value :: a,b mysum =...

Global site tag (gtag.js) - Google Analytics