抱歉,我的英语非常糟糕。
所以。
我在Dev c ++中编写了简单的动态链接库。
它工作得很好。今天我导入这是我的python项目中的库。
动态链接库文件路径:lib/my_dll.dll
#Dialog框
config.py
DLL_PATH = "lib/my_dll.dll"
main.py(config.py)导入
def my_func():
dll = CDLL(DLL_PATH)
return dll.func1()
所以我打开python解释器并写下来。
from main import *
a = my_func() #Its work nice so a == "c:\\Windows\\a.txt"
但是我重用了这个函数python生成下一个错误
OSErrror:[WinError 126] The specified module could not be found
感谢您阅读!
答案 0 :(得分:1)
在注释中,您声明您的DLL函数调用显示文件选择对话框的API函数。文件选择对话框,除非您告诉他们不要,否则可以更改工作目录。由于您未能指定DLL的完整路径,因此每次都会执行DLL搜索。第一次成功,因为您的工作目录恰好是找到DLL所需的。随后的DLL搜索失败,因为您的工作目录已更改。
一些建议:
restype
,因此我看不到您如何从该函数获取文本。更重要的是,我不知道每次调用函数时如何避免泄漏内存。除非文本存在于静态数组中。