在js中使用qt activex属性值始终返回空

问题描述

我正在构建具有Qt属性的qt axserver dll:

class testDll : public QObject,public QAxBindable
{
    Q_OBJECT

    Q_CLASSINFO("ClassID","{}")
    Q_CLASSINFO("InterfaceID","{}")
    Q_CLASSINFO("EventsID","{}")

    Q_PROPERTY(QString name MEMBER m_name READ getName WRITE setName)

public:
    testDll(QObject *parent = 0);
    QString getName() const;

public slots:
    void setName(QString v);

signals:
    void nameChanged(QString v);

private:
    QString m_name;
};

当我在为测试而构建的axcontainer中使用此dll时,可以获得类似QString res = container->dynamicCall("name").toString();的属性值,但是当我在IE这样的var name = testDll.name; console.log(name);中使用此属性时,它总是返回空

我尝试过 Q_PROPERTY(int number MEMBER m_number READ getNumber WRITE setNumber),可以通过以下两种方式在IE中获取属性值:

        var dll = document.getElementById("testDll");
        var num1 = dll.number;
        console.log(num1);
        var num2 = testDll.number;
        console.log(num2);

我是activex的新手,无法找到有关qt activex开发的很好的教程。有人可以帮忙吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)