Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » CList und Seroalize

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.09.2004, 12:15 Uhr
~Michael
Gast


Hi,
also irgend wie speichert CList nicht die Objekte die drin sind Weiß wer warum?

C++:
// Modifikatoren
typedef class Modifier : public CObject
{
    DECLARE_SERIAL (Modifier)
public:
    CString m_bezeichnung;
    int        m_mod_wert;
    CString m_mod_bechreibung;
public:
    void Serialize(CArchive &ar);
}mod_t;

//------------------------------------------------------------------------------------

// Attribut
typedef class Attribut : public CObject
{
    DECLARE_SERIAL (Attribut)
public:
    int    m_attributs_wert;
    int    m_attributs_mod;
    int    m_attributs_tmp_wert;
    int    m_attributs_tmp_mod;
    CList<mod_t*,mod_t*>* m_mods;
public:
    void Serialize(CArchive &ar);
}attribut_t;




C++:
void Attribut::Serialize(CArchive &ar)
{
    CObject::Serialize(ar);

    if(ar.IsStoring())
    {
            ar << m_attributs_mod
                << m_attributs_tmp_mod
                << m_attributs_tmp_wert
                << m_attributs_wert;
            m_mods->Serialize(ar);
    }
    else
    {
            ar >> m_attributs_mod
                >> m_attributs_tmp_mod
                >> m_attributs_tmp_wert
                >> m_attributs_wert;
            m_mods->Serialize(ar);
    }
}




C++:
// test.h
class Test:public CObject
{
DECLARE_SERIAL (Test)
public:
void Serialize(CArchive &ar);
public:
attribut_t*        m_attribute;
}




C++:
// test.cpp
IMPLEMENT_SERIAL (Test, CObject, 1)

void Test::Serialize(CArchive &ar)
{
    CObject::Serialize(ar);

    if(ar.IsStoring())
    {
        ...
        for(int i=0;i<6;i++)
        {
            m_attribute[i].Serialize(ar);
        }

    }
    else
    {
        ...
        for(int i=0;i<6;i++)
        {
            m_attribute[i].Serialize(ar);
        }
    }
}



Also das ist der Code dazu. In der Klasse Test werden auch normale Membervariabeln gespeichert und bei denen Funtkioniert das auch. Nur nicht die Objekte in der Lsite. Er merkt sich wieviele in der Liste drin sidn, aber schaut man sich nach dem Laden die Objekte an sind alle Variablen mit dem default Wert initialisiert

??? Help ???

mfg Michael
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.09.2004, 12:16 Uhr
~Michael
Gast


PS diese zwei Klassen oben sind in der selben Datei, kann es daran leigen? mag das VC++ nicht so?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: