Python论坛  - 讨论区

标题:[python-chinese] 请问,怎么在vc中使用python建立的com server里的对象?

2006年08月13日 星期日 17:54

Leo Jay python.leojay at gmail.com
Sun Aug 13 17:54:31 HKT 2006

python programming on win32书中只写了用vb和delphi的创建方法,
我在vb中CreateObject按ProgID创建com对象试验成功。

但是,在vc中想要使用com server里的对象要先把type library里的信息
用#import导入。但是,我用#import "progid:Leojay.ComServer"
编译出错:
error C3501: there is no typelib registered for ProgID 'Leojay.ComServer'

用
#import "libid:B0EB5AAB-0465-4D54-9CF9-04ADF7F73E4E"
也出错:
error C3506: there is no typelib registered for LIBID
'{B0EB5AAB-0465-4D54-9CF9-04ADF7F73E4E}'
既然在VB里能用'Leojay.ComServer',那说明com server的注册部分没问题,
那请问应该怎样导入呢?

谢谢。

附:
我的python的com server代码如下:
import win32com.server.register

class HelloWorld:
	_reg_clsid_= "{B0EB5AAB-0465-4D54-9CF9-04ADF7F73E4E}"
	_reg_desc_= 'Python test com server'
	_reg_progid_= "Leojay.ComServer"
	_public_methods_= ['Hello', 'PyEval']
	_public_attrs_= ['softspace', 'noCalls']
	_readonly_attrs_= ['noCalls']
	def __init__(self):
		self.softspace = 1
		self.noCalls = 0
	def Hello(self, who):
		self.noCalls += 1
		return "Hello" + " " * self.softspace + who

	def PyEval(self, data):
		return eval(data)

if __name__ == '__main__':
	win32com.server.register.UseCommandLine(HelloWorld)


-- 
Best Regards,
Leo Jay

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年08月14日 星期一 23:29

Leo Jay python.leojay at gmail.com
Mon Aug 14 23:29:31 HKT 2006

自己顶一下,怎么没人理我呢?


-- 
Best Regards,
Leo Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060814/08b63412/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号