Avatar billede jackonlinux Nybegynder
07. april 2002 - 18:39 Der er 8 kommentarer og
1 løsning

Serialize

Jeg er igang med at udvikle en MFC application hjemme fra stuen og er lidt i problemer..

Jeg vil gerne benytte mig af enten CArray eller CMap..
MEN når jeg så gerne serialize mit document... og dermed mine collection klasser -får jeg et problem!
Man må ikke serialize et CArray eller CMap...
Så nogen har nogen idéer ?

Jeg benytter mig at den standard overskrevne metode via
if(ar.IsStoring()) osv osv...
ar <</>> via mit document ..


Grunden til denne metode er at jeg ikke gider at programmere til en database server.. Programmet må ikke være afhængig af sådan én, men jeg skal behandle store mængder data..

--På forhånd tak--
Andersen





Avatar billede hmm10 Nybegynder
07. april 2002 - 22:23 #1
30 point? - NO WAY
Avatar billede jpk Nybegynder
08. april 2002 - 08:05 #2
Hvad mener du med at man ikke må serialize et CArray eller CMap?
Begge nedarver direkte fra CObject, som overrider operator >> og <<, til brug i serialisering...
Avatar billede soepro Nybegynder
08. april 2002 - 10:52 #3
Hvad vil det sige at serialize et objekt ???
Avatar billede jpk Nybegynder
08. april 2002 - 11:22 #4
Det er MFC's arkitektur til at hente og gemme objekter på en nem og overskuelig måde.

Fx:

void CMyDoc::Serialize(CArchive& ar)
{

  if(ar.IsStoring())
  {
    // Save
    ar << m_Array.GetSize();
    for(int i=0; i<m_Array.GetSize(); ++i)
      ar << m_Array[i];
  }
  else
  {
    // Load
    int nCount=0;
    ar >> nCount;
    m_Array.SetSize(nCount);
    for(int i=0; i<nCount; ++i)
      ar >> m_Array[i];
  }
}
Avatar billede soepro Nybegynder
08. april 2002 - 11:25 #5
jpk >> kald lige det en nem og overskuelig måde *!*!* Nå, hvis man bruger det, er det vel nemt !
Avatar billede jpk Nybegynder
08. april 2002 - 11:33 #6
Det er faktisk meget smart, i ovenstående eksempel kunne m_Array indeholde en bunke komplekse objekter, der hver især implementerer Serialize, således de kan finde ud af at hente/gemme sig selv.
Avatar billede soepro Nybegynder
08. april 2002 - 11:59 #7
jpk >> OK, så er jeg med.
Avatar billede jackonlinux Nybegynder
14. april 2002 - 17:34 #8
Det var faktisk lige det jeg ledede efter..
Tak for hjælpen :)
Avatar billede jackonlinux Nybegynder
02. april 2003 - 18:39 #9
et svar tak ellers kan jeg ikke lukke mit åbne spørgsmål
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester