我是python的新手(但不是编程人员),需要使用COM对象(用C ++编写)中的函数。函数定义如下:
short GetNumber(short iStageIndex, short* sNumVal)
其返回值指示呼叫是否成功,并且sNumVal是我感兴趣的号码。
我尝试使用Spyder(python 3.6)运行此程序,并且将ref参数返回到元组中,因此需要按以下方式调用它:
ret = NumSoilProfiles(0);
success = ret[0]
sNumVal = ret[1]
现在,我正在尝试在使用IronPython 2.7的Dynamo(民用3D的一部分)中使用此功能,并且上述方法似乎不再起作用。上面的调用导致以下错误:
StandardError:调用NumSoilProfiles时出错
没有返回元组,因此要消除此错误,我必须将一些内容传递给第二个参数:
sNumVal = 0
ret = NumSoilProfiles(0, sNumVal)
问题是sNumVal没有设置-我需要做点什么来通过引用传递它吗?我已经尝试了一下,但到目前为止还没有找到答案。