C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 225 - Serialize / MFC шаг за шагом / Visual C++

Шаг 225 - Serialize

Производит сохранение и восстановление данных:

virtual void Serialize( CArchive& ar );
throw( CMemoryException );
throw( CArchiveException );
throw( CFileException );

Объект ar типа CArchive, с которым производятся операции сохранения и восстановления.

При создании своего класса Вы перегружаете функцию Seliarize и в новой функции не забываете вызвать функцию предка.

class CMyObject : public CObject
{
public:
	#ifdef _DEBUG

		void AssertValid() const;
		void Dump(CDumpContext& dc) const;

	#endif
	void Serialize( CArchive& ar );
protected:
    DECLARE_SERIAL(CMyObject);
private:
	int x;
	int y;
};


void CMyObject::Serialize( CArchive& ar )
{
     CObject::Serialize( ar );
     if( ar.IsStoring() )
     ar << x << y;
     else
     ar >> x >> y;
}
IMPLEMENT_SERIAL(CMyObject,CObject,1);

Для использования возможностей сохранения Вы должны использовать следующие макроопределения

DECLARE_SERIAL 
IMPLEMENT_SERIAL

Кроме того у класса должен быть конструктор без параметров. Для определения действия сохранения или удаления используется метод IsStoring класса CArhive.


| |
Автор Каев Артем.
[AD]