への参照を返す C++ の COM 関数を呼び出す必要がありますSAFEARRAY(BSTR)
。
このドキュメントによると、次のようになります。
QAxObject object = new QAxObject(...);
QStringList list;
for(int i=0; i<goodSize; i++)
list << "10.0";
object->dynamicCall("Frequencies(QStringList&)", list);
for(int i=0; i<list.size(); i++)
qDebug() << list.at(i);
しかし、リスト要素はそのまま10.0
です。
何か不足していますか?
編集
私は Oleview.exe を使用しましたが、実際には、関数は次のようになりますvoid Frequencies(VARIANT* FrequencyArray);
。
しかし、ActiveX サーバーのドキュメントには次のように書かれていますUse a safearray of strings (VT_BSTR) or reals (VT_R8 for double or VT_R4 for float)
。