Die Klasse CObject und CRuntimeClass Kapseln mehrere Object Services, einschließlich Zugang zu Laufzeit-Klasseninformationen, Serialisierung und dynamische Objekterstellung. Alle von CObject abgeleitete Klassen erben diese Funktionalität.
Informationszugang Laufzeit-Klasse können Sie Informationen über ein Objekt der Klasse zur Laufzeit bestimmen. Die Möglichkeit, die Klasse eines Objekts zur Laufzeit zu bestimmen ist nützlich, wenn Sie benötigen zusätzliche Typüberprüfung Funktionsargumente und wenn Sie spezifische Code basierend auf der Klasse des Objekts schreiben müssen. Laufzeit-Klasseninformationen wird direkt von der C++-Sprache nicht unterstützt.
Serialisierung ist der Prozess der schreiben oder Lesen eines Objekts Inhalt, oder aus einer Datei. Serialisierung können Sie ein Objekt Inhalt speichern auch nach der Anwendung beenden. Das Objekt kann dann aus der Datei gelesen werden, wenn die Anwendung neu gestartet wird. Solche Datenobjekte werden als "persistent".
Erstellen von dynamischen Objekten können Sie ein Objekt einer Klasse zur Laufzeit zu erstellen. Beispielsweise müssen Dokument-, Ansichts- und Frame-Objekten dynamische Erstellung unterstützen da sie dynamisch erstellen im Rahmen muss.
Die folgende Tabelle listet die MFC-Makros, die Laufzeitklasse Informationen, Serialisierung und dynamische Erstellung unterstützt.
Weitere Informationen über diese Laufzeit Object Services und Serialisierung finden Sie im Artikel CObject-Klasse: Run-Time-Klasseninformationen Zugriff auf im Visual C++ Programmer's Guide.
Laufzeit-Objekt Modell Services Makros
| DECLARE_DYNAMIC | Ermöglicht den Zugriff auf die Laufzeit-Klasseninformationen (muss in der Klassendeklaration verwendet werden). |
| DECLARE_DYNCREATE | Ermöglicht die dynamische Erstellung und Informationszugang Laufzeitklasse (muss in der Klassendeklaration verwendet werden). |
| DECLARE_SERIAL | Ermöglicht die Serialisierung und Informationszugang Laufzeitklasse (muss in der Klassendeklaration verwendet werden). |
| IMPLEMENT_DYNAMIC | Ermöglicht den Zugriff auf die Laufzeit-Klasseninformationen (muss in die Implementierung der Klasse verwendet werden). |
| IMPLEMENT_DYNCREATE | Ermöglicht die dynamische Erstellung und Zugriff auf Laufzeitinformationen (muss in die Implementierung der Klasse verwendet werden). |
| IMPLEMENT_SERIAL | Ermöglicht die Serialisierung und Informationszugang Laufzeitklasse (muss in die Implementierung der Klasse verwendet werden). |
| RUNTIME_CLASS | Gibt zurück die CRuntimeClass -Struktur, die entspricht an die benannte Klasse. |
OLE erfordert häufig die dynamische Erstellung von Objekten zur Laufzeit. Beispielsweise muss eine OLE-Serveranwendung OLE-Elemente dynamisch als Antwort auf eine Anforderung von einem Client erstellen können. Ebenso muss ein Automatisierungsserver können zum Erstellen von Elementen als Reaktion auf Anfragen von Automatisierungsclients.
Die Microsoft Foundation Class-Bibliothek bietet zwei Makros bestimmten OLE.
Dynamische Erstellung von OLE-Objekten
| DECLARE_OLECREATE | Ermöglicht Objekten durch OLE-Automatisierung erstellt werden. |
| IMPLEMENT_OLECREATE | Ermöglicht Objekten, die durch den OLE-System geschaffen werden. |