Objekt Modell Laufzeitdienste

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.

Index