QMetaObject::invokeMethod() wird nicht aufgerufen



  • Hi.

    Vorweg: Ich habe die Hauptklasse MyClass schon mittels qRegisterMetaType<MyClass*>(); registriert.

    Ich habe einen Thread, in welchem ich QMetaObject::invokeMethod() aufrufe, jedoch wird die Funktion threadCreateWidgets() nicht aufgerufen.

    QMetaObject::invokeMethod(p /*pointer zu this*/, "threadCreateWidgets", Qt::QueuedConnection, Q_ARG(QVector<DashboardItem>*, dbi), Q_ARG(QWidget*, wid), Q_ARG(MyClass*, p))
    

    Als der Thread beendet werden soll (bin mir nicht 100% sicher) bekomme ich dann eine Exception (read access violation) in der Datei moc_myclass.cpp :

    case 45: _t->threadCreateWidgets((*reinterpret_cast< QVector<DashboardItem>*(*)>(_a[1])),(*reinterpret_cast< QWidget*(*)>(_a[2])),(*reinterpret_cast< MyClass*(*)>(_a[3]))
    

    Nun, wird meine Klasse MyClass nicht richtig registriert und deshalb wird die Funktion threadCreateWidgets() nicht aufgerufen?



  • Hat sich geklärt. Nachdem Post hier gleich den Fehler gefunden 🙄
    Hab einen Typ vergessen zu registrieren... 🤦


Anmelden zum Antworten