re[2]:Com对象问题

具体而言,应该有一个记录映像dict包含任何定义 记录 和他们的指导. 不,它不在生成的模块中,而是在com浏览器中,所以我确定struct在com对象中 也许我可以在某个地方找到GUID的位置,然后手动将其放入RecoDmap中? 罗杰 " Gijs Korremans" 在消息中写道 新闻:Ma ******************************************************************************************* 你好, 我仍在弄清楚如何使用win32com来使用com 我认为是在VB中制成的对象 首先,我已经创建了一个用makepy的文件 然后,我使用以下代码来启动com对象: 导入win32com.client 客户端= win32com.client.dispatch(" clientmodule.client") 然后,当我想使用函数时,例如: ipaddr = kddclient.getlocalipaddress() 我得到这个错误: 文件 " c:\ python23 \ lib \ site-packages \ win32com \ gen_py \ 0f4570b8-4d39-47cd-84b4b4-8a424233eebfx0x1x1x1x0.py 第69行,在getlocalipaddress中 返回self.__applytypes_(11,1,(36,0),(),'getlocalipaddress',none,) 文件" c:\ python23 \ lib \ site-packages \ win32com \ client \ client \ __ init__.py",第446行, 在_applytypes _ 返回self._get_good_object_(self._oleobj_.invoketypes(d ispid,0, wflags,rettype,argtypes, *args),用户,resultclsid) com_error:(-2147024809,"参数不正确.",无,无) 我不知道哪个参数不正确,因为该函数不需要 任何参数 当我尝试使用以下代码为IP地址使用结构时: ipaddr = win32com.client.record(" ipaddress_struct",客户端) 我收到此消息: 文件" c:\ python23 \ lib \ lib \ site-packages \ win32com \ client \ __ init__.py",第403行, 记录在记录中 提高价值ERROR,"结构'%s'未在模块'%s'"中定义 (名称,软件包) ValueError:在模块中未定义" ipaddress_struct"结构 ''>'>'>'>' 我认为这意味着在 com对象,但是当我去pythonwin的combrowser时,就在那里. 我正在使用Python 2.3与Pywin32 Build 203 有人知道我在做什么错吗? 亲切的问候, Gijs < 亲切的问候, Gijs - - 此消息已被扫描以进行病毒和 网络哨兵的危险内容,是 相信很干净. http://www.networksentry.co.za

# 回答1

我看了生成记录信息的代码,但没有 处理 没有GUID的记录(或更准确地说,GUID是GUID_NULL). 他们仍然应该在生成的模块中出现评论 说他们没有处理. 但是,它试图将它们保持在 dict 以GUID作为钥匙,当您有几个guid_null时 最后一个出现. 最好的猜测是,此特定记录是 这 那些不小心被击倒. 看起来应该可以创建一个python记录对象fr om 只是 通过从Typelib获取类型信息并将其传递给 getRecordInfromTypeinfo. 不幸的是,该功能并未包裹 pythoncom. 您可能需要使用Pywin32提交功能请求 项目. 罗杰 " Gijs Korremans" 在消息中写道 新闻:Ma ******************************************************************************************* 具体而言,应该有一个记录映像dict包含任何定义 记录 和他们的指导. 不,它不在生成的模块中,但它在com浏览器中,所以我是 确保结构在com对象中 也许我可以在某个地方找到GUID的位置,然后将其放入重复模拟 手动? 罗杰 " Gijs Korremans" 在消息中写道 新闻:Ma ******************************************************************************************* 你好, 我仍在弄清楚如何使用win32com来使用com 我认为是在VB中制成的对象 首先,我已经创建了一个用makepy的文件 然后,我使用以下代码来启动com对象: 导入win32com.client 客户端= win32com.client.dispatch(" clientmodule.client") 然后,当我想使用函数时,例如: ipaddr = kddclient.getlocalipaddress() 我得到这个错误: 文件 " c:\ python23 \ lib \ site-packages \ win32com \ gen_py \ 0f4570b8-4d39-47cd-84b4b4-8a424233eebfx0x1x1x1x0.py 第69行,在getlocalipaddress中 返回self.__applytypes_(11,1,(36,0),(),'getlocalipaddress',none,) 文件" c:\ python23 \ lib \ site-packages \ win32com \ client \ client \ __ init__.py",第446行, 在_applytypes _ 返回self._get_good_object_(self._oleobj_.invoketypes(d ispid,0, wflags,rettype,argtypes, *args),用户,resultclsid) com_error:(-2147024809,"参数不正确.",无,无) 我不知道哪个参数不正确,因为该函数不需要 任何参数 当我尝试使用以下代码为IP地址使用结构时: ipaddr = win32com.client.record(" ipaddress_struct",客户端) 我收到此消息: 文件" c:\ python23 \ lib \ lib \ site-packages \ win32com \ client \ __ init__.py",第403行, 记录在记录中 提高价值ERROR,"结构'%s'未在模块'%s'"中定义 (名称,软件包) ValueError:在模块中未定义" ipaddress_struct"结构 ''>'>'>'>' 我认为这意味着在 com对象,但是当我去pythonwin的combrowser时,就在那里. 我正在使用Python 2.3与Pywin32 Build 203 有人知道我在做什么错吗? 亲切的问候, Gijs < 亲切的问候, Gijs - - 此消息已被扫描以进行病毒和 网络哨兵的危险内容,是 相信很干净. http://www.networksentry.co.za ---- ==通过newsfeeds.com发布 - 无限 - 固定的usenet news == ---- http://www.newsfeeds.com世界上排名第一的新闻组服务! 120,000多个新闻组 ---- =东海岸和西海岸服务器农场 - 通过加密= -------------

标签: python

添加新评论