首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自python3 ctype的无效句柄错误-昨天已生效

来自python3 ctype的无效句柄错误-昨天已生效
EN

Stack Overflow用户
提问于 2020-04-24 01:04:53
回答 1查看 21关注 0票数 0

我有一个脚本,在其中我需要调用其他软件的DLL中的函数。脚本在昨天和过去的几个月中运行,但今天停止了。我昨天卸载并重新安装了python,因为我遇到了其他不相关的问题。

代码语言:javascript
复制
gmAPI = cdll.LoadLibrary(
    "C:/Program Files (x86)/GoldMine/gm7s32.dll")
recid = create_string_buffer(16)
gmAPI.GMW_NewRecID(recid, username)

这是代码中有try的部分,当我尝试执行第三行时,我得到了错误代码6,无效的句柄。它是一个32位的动态链接库,我在相同的32位解释器上运行它,尽管是重新安装的。

我的cdll对象如下所示:

代码语言:javascript
复制
<CDLL 'C:\Program Files (x86)\GoldMine\gm7s32.dll', handle 10000000 at 0x3f44280>

但是,该对象的_handle为: 268435456。

我不是ctype方面的专家,但我假设100000000是无效的句柄,但我希望它与对象的_handle一致。我不知道为什么这会改变。我以前在具有多个解释器的多台机器上运行过它。

EN

回答 1

Stack Overflow用户

发布于 2020-04-24 01:47:54

它现在起作用了。我认为切换到windll而不是cdll可以解决这个问题。仍然不知道为什么它一直在工作,然后停了下来,所以如果有人愿意提供一个理论,去吧。

代码语言:javascript
复制
gmAPI = windll.LoadLibrary(
    'C:/Program Files (x86)/GoldMine/gm7s32.dll')
recid = create_string_buffer(16)
gmAPI.GMW_NewRecID(recid, username)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61392920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档