本人用QString generateDocumentation () 生成了一个关于COM接口函数的列表,并按表中的形式来调用了接口函数,可是当接口函数的形参是指针的时候,调用的结果就会出错,例如:
COM接口函数的原型如下:
void GetInt ( long* oResult)
{
*oResult = 20;
}
用QString generateDocumentation () 得到的接口资料如下:
void GetInt ( int& oResult);
本人调用方式如下:
int result;
QAxBase.dynamicCall ( " GetInt ( int &) ", result);
这时我发现result里面的值不是20,而是一个很大的值,应该是没有被初始化的现象,但是当接口函数为其它类型的时候,我发现调用正常,请问应该如何解决这个问题呢?
我发现QAxBase有一个long queryInterface ( const QUuid & uuid, void ** iface ) const ,我想可能用它能解决问题吧,但是不知道应该怎么用,