MFC-Makro-Problem (IMPLEMENT_SERIAL) !!



  • Verwende ich folgendes:

    class C1 : public CObject
    {
    public:
    DECLARE_SERIAL(C1);
    };
    
    IMPLEMENT_SERIAL( C1, CObject, 0);
    

    Läuft es perfekt!

    Fehler bei:

    class C1 : public CObject
    {
    public:
    typedef CObject BASE;
    DECLARE_SERIAL(C1);
    };
    IMPLEMENT_SERIAL( C1, (C1::BASE), 0);
    

    Fehler: Instanz von abstrakter Klasse kann nicht angelegt werden!

    Hat jemand die Lösung?



  • Ich bekomme da "error C2589: 'class' : illegal token on right side of '::'"

    Aus dem 2. Parameter von IMPLEMENT_SERIAL wird ein Struktur-Name gemacht (z.B. classCObject)

    Da musst du schon das Makro auseinandernehmen und entweder dir selber ein Marko schreiben oder es ohne Makro hinschreiben.



  • ach stimmt ja, diese komischen Makros ersetzen den Namen so, wie er ist


Anmelden zum Antworten