How can I call a pointer of an QObject in a QML File?

blackberry, blackberry-10, c++, qml, qt

Solution

You need to register your pointer type like this

qRegisterMetaType<ClassA*>("ClassA*");

(source)

Problem

I'm developping an application for Blackberry 10 and I'm using the Momentics IDE (BB native SDK). I get the following error when I try to execute the code below. Any one have an idea how can I fix this ? Error ``` QMetaProperty::read: Unable to handle unregistered datatype 'DataHandler*' for property 'xxx::dataHandler' asset:///main.qml:104: TypeError: Result of expression 'xxx.dataHandler' [undefined] is not an object. Process 627863799 (xxx) terminated SIGSEGV code=1 fltno=11 ip=08055b30(/accounts/1000/appdata/com.ddd.xxx.testDev_e_xxx45b0f435/app/native/xxx@main+0x5d63) ref=006e0075 ``` ** xxx.hpp ** ``` class xxx: public QObject { Q_OBJECT Q_PROPERTY(DataHandler* dataHandler READ getDataHandler) public: xxx(bb::cascades::Application *app); virtual ~xxx() { } Q_INVOKABLE DataHandler* getDataHandler() const; private: DataHandler* m_dataHandler; } ``` ** xxx.cpp ** ``` xxx::xxx(bb::cascades::Application *app) : QObject(app) { m_dataHandler = new DataHandler(); } ``` ** QML file ** ``` Button { id: backBtn objectName: "backBtnObject" text: qsTr("Back") + Retranslate.onLocaleOrLanguageChanged preferredWidth: backBtn.text.length visible: false onClicked: { xxx.dataHandler.displayLicencesList(); } } ```

Original source