Wykonywalna obiekt modelu usług

Klasy CObject i CRuntimeClass hermetyzacji kilka usług obiektu, łącznie z dostępem do czasu klasy, serializacji i tworzenie dynamicznych obiektów. Wszystkie klasy pochodzące od CObject dziedziczą te funkcje.

Dostęp do informacji klasy czasu umożliwia określenie informacji na temat klasy object w czasie wykonywania. Możliwość określenia klasy obiektu w czasie wykonywania jest przydatne, gdy potrzebna, dodatkowa-kontrola typów argumentów funkcji i kiedy należy napisać kod celowej na podstawie klasy obiektu. Klasy Run-time nie jest obsługiwana bezpośrednio przez języka C++.

Serializacja jest proces zapisywania lub odczytywania zawartości obiektu do lub z pliku. Serializacja można używać do przechowywania zawartości obiektu, nawet po zamyka aplikację. Obiekt można następnie odczytywane z pliku po uruchomieniu aplikacji. Takie obiekty danych są określane jako "trwały".

Tworzenie dynamicznych obiektów umożliwia utworzenie obiektu klasy określonej w czasie wykonywania. Na przykład dokument, widok i obiektów ramki musi obsługiwać tworzenie dynamicznych ponieważ ramach musi utworzyć je dynamicznie.

W poniższej tabeli wymieniono makra MFC, obsługujących informacje klasy run-time, serializacji i dynamiczne tworzenie.

Aby uzyskać więcej informacji dotyczących tych usług czasu obiektu i serializacji, zobacz artykuł CObject klasy: dostęp do informacji klasy Run-Time w Visual C++ Programmer's Guide.

Wykonywalna obiekt modelu usług makra

DECLARE_DYNAMIC Umożliwia dostęp do informacji klasy run-time (musi być używany w deklaracji klasy).
DECLARE_DYNCREATE Umożliwia tworzenie dynamicznych i dostępu do informacji klasy run-time (musi być używany w deklaracji klasy).
DECLARE_SERIAL Umożliwia serializacji i dostępu do informacji klasy run-time (musi być używany w deklaracji klasy).
IMPLEMENT_DYNAMIC Umożliwia dostęp do informacji klasy run-time (musi być używany w implementacji klasy).
IMPLEMENT_DYNCREATE Umożliwia tworzenie dynamicznych i dostępu do informacji run-time (musi być używany w implementacji klasy).
IMPLEMENT_SERIAL Pozwala serializacji i dostępu do informacji klasy run-time (musi być używany w implementacji klasy).
RUNTIME_CLASS Zwraca strukturę CRuntimeClass , która odpowiada nazwie klasy.

OLE często wymaga dynamicznego tworzenia obiektów w czasie wykonywania. Na przykład aplikację serwera OLE musi mieć możliwość tworzenia elementów OLE dynamicznie w odpowiedzi na żądanie klienta. Podobnie serwer automatyzacji musi mieć możliwość tworzenia elementów w odpowiedzi na żądania od klientów automatyzacji.

Biblioteka klas Microsoft Foundation zapewnia dwa makra szczególnych OLE.

Dynamiczne tworzenie obiektów OLE

DECLARE_OLECREATE Umożliwia obiekty utworzone za pomocą automatyzacji OLE.
IMPLEMENT_OLECREATE Umożliwia obiekty utworzone przez OLE system.

Index