Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Porblem mit moc

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Dominik Seichter
Gast





BeitragVerfasst am: 12. Jan 2002 14:17   Titel: Porblem mit moc

Hi!

Ich möchte zu meinem Programm eine Plugin Schnittstelle hinzufügen. Die Plugin API steht schon, nur beim compilen der Plugin havbe ich Probleme.
Der kompilier vorgang bricht mit der folgendne Fehlermeldung ab.
datetime.moc.cpp: In method `void MyPlugin::initMetaObject()':
datetime.moc.cpp:34: `badSuperclassWarning' undeclared (first use this function)
datetime.moc.cpp:34: (Each undeclared identifier is reported only once
datetime.moc.cpp:34: for each function it appears in.)

Ich denke es fehlt einfach die Zeile "#include <qobject.h>" in der Date datetime.moc.cpp. Wie kann ich moc dazubringen die qobject.h zu includen (furchtbares Wort Wink?
Oder meint Ihr der Fehler liegt woanders.
Das Header File aus dem moc datetime.moc.cpp generiert sieht folgendermassen aus:

#ifndef DATETIME_H
#define DATETIME_H

#include "../../batchrenamer.h"
#include "../../pluginloader.h"
#include "../../plugin.h"


#include <stdio.h> // For FILE
#include <qobject.h>

class KDatePicker;
class KIntSpinBox;
class QCheckBox;
class QButtonGroup;
class QGroupBox;
class QLabel;
class QVBoxLayout;
class QHBoxLayout;
class QPushButton;
class QString;
class QWidget;

extern "C" Plugin* maker();


// Plugin class starts here
class MyPlugin: public Plugin {
Q_OBJECT
public:
QString getName();
int type();

bool checkError();
void drawInterface( QWidget* w, QVBoxLayout* l );
QString processFile( values* val, int i, QString token );

protected:
QCheckBox* checkAccess;
QCheckBox* checkModification;
KDatePicker* kDate;
QLabel* labelTime;
KIntSpinBox* spinHour;
KIntSpinBox* spinMinute;
KIntSpinBox* spinSecond;
QPushButton* buttonCurrentDT;

// ----
QHBoxLayout* Layout0;
QVBoxLayout* Layout1;
QHBoxLayout* Layout2;
};
#endif

Die Klasse Plugin sieht folgendermassen aus:
#ifndef PLUGIN_H
#define PLUGIN_H

#include "batchrenamer.h"

#include <qobject.h>

class QString;
class QWidget;
class QVBoxLayout;
class Plugin {
Q_OBJECT
public:

virtual QString getName() = 0;
virtual int type() = 0;

virtual bool checkError() = 0;
virtual void drawInterface( QWidget* w, QVBoxLayout* l ) = 0;
virtual QString processFile( values* val, int i, QString token ) = 0;
};

#endif

Irgendwelche Ideen ?

CU Dom
 

Dominik Seichter
Gast





BeitragVerfasst am: 14. Jan 2002 20:31   Titel: Re: Porblem mit moc

Hi!

Hab die Lösung gefunden! Plugin muss so aussehen:
class Plugin : public QObject {
...
};

Warum bin ich da nicht vorher (und die ganze letzte Woche) draufgekommen ? *wunder*

CU Dom
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy