访问让我们使用QAxBase(Qt)

时间:2016-08-01 17:55:51

标签: qt vb6 activex

我成功地可以通过ActiveX访问类的Get方法,但无法访问Let属性。

QAxObject *p = new QAxObject( "MyApp.Application", 0 );
p->dynamicCall("Signals(const QString& )","Sig0");// this will issue GET
p->dynamicCall("Signals(const QString& ,int)","Sig0",1);// doesn't work 

VB代码:

Public Property Get Signal(ByVal Key As Variant) As Long
Debug.Print Key
End Property

Public Property Let Signal(ByVal Key As Variant, ByVal Value As Long)
Debug.Print Key _ Value
End Property

我的目标是发布Let方法。

1 个答案:

答案 0 :(得分:0)

解决方案是使用IDispatch方法。 问题是Qt库假设属性Set(PUT)只接受一个参数但在我的情况下我需要Put有两个参数。 这篇文章帮助我解决了这个问题:https://support.microsoft.com/en-us/kb/216686