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双向链表实现实例代码
Nov 21 Python
Django中实现一个高性能计数器(Counter)实例
Jul 09 Python
windows10系统中安装python3.x+scrapy教程
Nov 08 Python
python3实现UDP协议的服务器和客户端
Jun 14 Python
3个用于数据科学的顶级Python库
Sep 29 Python
pandas 数据结构之Series的使用方法
Jun 21 Python
如何通过50行Python代码获取公众号全部文章
Jul 12 Python
python中必要的名词解释
Nov 20 Python
Python实现把多维数组展开成DataFrame
Nov 30 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
Django高并发负载均衡实现原理详解
Apr 04 Python
windows支持哪个版本的python
Jul 03 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
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
php分页示例分享
2014/04/30 PHP
PHP使用header()输出图片缓存实例
2014/12/09 PHP
PHP整合PayPal支付
2015/06/11 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
2012/08/22 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
2016/12/19 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
jquery根据name取得select选中的值实例(超简单)
2018/01/25 jQuery
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
2020/03/09 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
布同 统计英文单词的个数的python代码
2011/03/13 Python
Python实现的选择排序算法示例
2017/11/29 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
2018/05/07 Python
浅谈django orm 优化
2018/08/18 Python
python使用zip将list转为json的方法
2018/12/31 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
2019/10/11 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
浅析Python面向对象编程
2020/07/10 Python
浅析python连接数据库的重要事项
2021/02/22 Python
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
《在大海中永生》教学反思
2014/02/24 职场文书
律师函格式范本
2015/05/27 职场文书
筑梦中国心得体会
2016/01/18 职场文书