IMPLEMENT_SERIAL
IMPLEMENT_SERIAL(class_name,base_class_name,wSchema)
Parameters
class_name
The actual name of the class (not enclosed in quotation marks).
base_class_name
The name of the base class (not enclosed in quotation marks).
wSchema
A UINT “version number” that will be encoded in the archive to enable a deserializing program to identify and handle data created by earlier program versions. The class schema number must not be –1.
Remarks
Generates the C++ code necessary for a dynamic CObject-derived class with run-time access to the class name and position within the hierarchy. Use the IMPLEMENT_SERIAL macro in a .CPP module; then link the resulting object code only once.
You can use the AFX_API macro to automatically export the CArchive extraction operator for classes that use the DECLARE_SERIAL and IMPLEMENT_SERIAL macros. Bracket the class declarations (located in the .H file) with the following code:
#undef AFX_API
#define AFX_API AFX_EXT_CLASS
<your class declarations here>
#undef AFX_API
#define AFX_API
For more information, see the in Visual C++ Programmer’s Guide.
Example
// MyClass.cpp
#include "stdafx.h"
#include "MyClass.h"
IMPLEMENT_SERIAL( CMyClass, CObject, VERSIONABLE_SCHEMA | 2 )
...
See Also DECLARE_SERIAL, RUNTIME_CLASS, CObject::IsKindOf