F: Keine Metadaten von meta.enumeratorCount () für enum in Q_OBJECT, warum?
Ich habe die folgende Klasse, in der ich versuche, einige Metadaten einesenum MyEnum
. Allerdings beim Überholenmeta.enumeratorCount()
seine Zählung ist immer 0. Grundsätzlich folgte ichDieses Beispiel hier. Um das Problem zu finden, habe ich dasselbe mit Methoden versucht, dasselbe Problem - Methodenzahl 0. Code kompiliert, keine Fehler, keine Warnungen.
Muss ein blöder Fehler sein .... vielleicht kannst du mir helfen
class FsxSimConnectQtfier : public QObject
{
Q_OBJECT
public:
explicit FsxSimConnectQtfier(QObject *parent = 0);
enum MyEnum { G1, G2 };
static const QString simConnectExceptionToString(const DWORD id);
};
const QString FsxSimConnectQtfier::simConnectExceptionToString(const DWORD id) {
// int i= FsxSimConnectQtfier::staticMetaObject.indexOfEnumerator("MyEnum");
// -1 -> not found, why?
QMetaObject meta = FsxSimConnectQtfier::staticMetaObject;
for (int i=0; i < meta.enumeratorCount(); ++i) {
QMetaEnum m = meta.enumerator(i); // never reached, why?
}
return "";
}