Python编写的com组件发生R6034错误的原因与解决办法


Posted in Python onApril 01, 2013

解决该问题的方法可以为调用本程序的exe文件建立一个合适的manifest文件,指定正确的msvcr90.dll版本即可,具体可参照https://3water.com/article/35219.htm

ps:可以使用mt.exe进行导出或合并manifest资源到exe或者dll文件。

查看manifest的方法:mt -inputresource:pythoncom27.dll;#2 -out:sss.txt

合并manifest到dll的方法:

mt.exe ?manifest MyApp.exe.manifest -outputresource:MyApp.exe;1

or

mt.exe ?manifest MyLibrary.dll.manifest -outputresource:MyLibrary.dll;2

(1 for an EXE, 2 for a DLL.)

ps:2010.12.24

如果是使用c++开发dll,那么使用libcmtd.lib或者libcmt.lib 替换掉 msvcrtd.lib 或 msvcrtd.lib也可以避免这个问题。

ps:内牛碗面

测试regsvr32 pythoncom27.dll一直是失败,即使使用mt嵌入了manifest信息也不行,当我把windows\system32目录下的 pythoncom27.dll和pywintypes27.dll改名后,才行。原来regsvr32默认都是在处理windows\system32 目录下的dll,即使当前目录有也不管。。。。。。无语了。终于出现“已加载***.dll,但没有找到dllregisterserver输入点…..”。看来想dll中嵌入manifest信息是管用的。。下次最好写上目录,如:regsvr32 .\pythoncom27.dll

ps:2010.12.26 完美解决

我使用的python2.7以及截止目前的2.6?3.1版本python的pyd文件根 据python.org的建议(要求),全部没有manifest信息。这是为了更好的在程序运行时根据python.exe提供的crt来运行。 pywin32提供的pythoncom27.dll以及pywintypes27.dll也没有manifest信息。这样一般情况都没有问题,只是当 使用python制作的dll类型的com组件时会发生R6034错误。解决的办法有2个:为调用com组件的exe制作一个manifest文件,指明 msvcr90.dll的依赖;或者把所有使用到的dll以及pyd都嵌入manifest信息。

为什么根本就没有人研究这个信息呢?也许广大的pythoner都不玩com吧 ==||

Python 相关文章推荐
python在windows命令行下输出彩色文字的方法
Mar 19 Python
python tensorflow学习之识别单张图片的实现的示例
Feb 09 Python
python脚本生成caffe train_list.txt的方法
Apr 27 Python
vue.js实现输入框输入值内容实时响应变化示例
Jul 07 Python
Python实现堡垒机模式下远程命令执行操作示例
May 09 Python
python zip()函数使用方法解析
Oct 31 Python
python将时分秒转换成秒的实例
Dec 07 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
Mar 10 Python
vue常用指令代码实例总结
Mar 16 Python
Python3批量创建Crowd用户并分配组
May 20 Python
Python+unittest+requests+excel实现接口自动化测试框架
Dec 23 Python
五分钟学会怎么用python做一个简单的贪吃蛇
Jan 12 Python
Python中用Ctrl+C终止多线程程序的问题解决
Mar 30 #Python
python利用hook技术破解https的实例代码
Mar 25 #Python
利用python获得时间的实例说明
Mar 25 #Python
python 将字符串转换成字典dict
Mar 24 #Python
使用python提取html文件中的特定数据的实现代码
Mar 24 #Python
python 切片和range()用法说明
Mar 24 #Python
python list中append()与extend()用法分享
Mar 24 #Python
You might like
国外十大最流行的PHP框架排名
2013/07/04 PHP
隐性调用php程序的方法
2015/06/13 PHP
thinkphp如何获取客户端IP
2015/11/03 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
2016/12/10 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
轻轻松松学JS调试(不下载任何工具)
2010/04/14 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
浅谈setTimeout 与 setInterval
2015/06/23 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
JS实现简单表格排序操作示例
2017/10/07 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
在Django同1个页面中的多表单处理详解
2017/01/25 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
浅谈python累加求和+奇偶数求和_break_continue
2020/02/25 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
英国最大的海报商店:GB Posters
2018/03/20 全球购物
SheIn沙特阿拉伯:女装在线
2020/03/23 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
大学生年度自我鉴定
2013/10/31 职场文书
2014植树节活动总结
2014/03/11 职场文书
相亲大会策划方案
2014/06/05 职场文书
家长会欢迎标语
2014/06/24 职场文书
毕业生应聘求职信
2014/07/10 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
鉴史问廉观后感
2015/06/10 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书