在Python中,如何使用需要byref参数的函数(来自COM)?

2024-09-30 08:35:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要调用一个VB.net版作为我COM自动化程序的一部分。在

VB程序需要一个byref参数,定义为

Function GetBeamWidth(ByRef pfBeamWidth As Single) As Integer

我用下面的VB代码测试了这个函数,没有问题

^{pr2}$

但是,我不知道如何在python中调用这个函数。我所尝试的一切都给了我“类型不匹配”的错误。我确信我加载了ActiveX服务器,尝试了早期和后期绑定,尝试了用x=[0]的定义传递x。在

我也试过了ctype.byref(x) ,不工作。我在网上找到的例子并不那么容易理解。如果ctype.byreg公司是不是解药,能不能有人在这里贴个好榜样?在

我想这一定是你所有有经验的程序员的共同问题。我知道python不支持指针,但遗憾的是,在现实生活中,我们必须与其他语言编写的函数接口,这些语言需要通过引用传递函数参数。在

提前谢谢!在


Tags: 函数程序com语言参数net定义as
2条回答

ByRef是通过指针传递的,您可以查看ctypes。它还导出byref。在

最后,我发现要完成我所要求的几乎是不可能的。或者,我将我的核心函数包装在Python类中,并将其注册为COM服务器。在

然后,我把最外层的外壳图书管理系统,它加载所有COM服务器,提供UI,并简单地调用COM函数来完成工作。在

我想这就是为什么我们有Python以外的编程平台仍然存在的原因之一。在

相关问题 更多 >

    热门问题