Services de modèle objet Run-Time

Les classes de CObject et CRuntimeClass encapsulent plusieurs services de l'objet, y compris l'accès aux informations de la classe d'exécution, la sérialisation et la création d'objet dynamique. Toutes les classes dérivées de CObject héritent cette fonctionnalité.

Accès à l'information de la classe d'exécution permet de déterminer les informations sur classe d'un objet au moment de l'exécution. La capacité à déterminer la classe d'un objet au moment de l'exécution est utile lorsque vous avez besoin d'extra-vérification du type des arguments d'une fonction, et lorsque vous devez écrire le code spéciaux basé sur la classe d'un objet. Information classe de Run-time n'est pas pris en charge directement par le langage C++.

Sérialisation est le processus d'écriture ou de lecture de contenu d'un objet ou à partir d'un fichier. Vous pouvez utiliser la sérialisation pour stocker le contenu d'un objet même après que l'application se ferme. L'objet peut ensuite être lus dans le fichier lorsque l'application est redémarrée. Ces objets de données sont dits « persistants ».

Création d'objet dynamique vous permet de créer un objet d'une classe spécifiée au moment de l'exécution. Par exemple, document, objets frame et vue doivent prendre en charge la création dynamique car le cadre a besoin de créer dynamiquement.

Le tableau suivant répertorie les macros MFC prenant en charge les informations de classe du moment de l'exécution, la sérialisation et la création dynamique.

Pour plus d'informations sur ces services objet run-time et la sérialisation, consultez l'article classe de CObject : accéder à des informations de classe Run-Time dans le Guide du programmeur Visual C++.

Run-Time Macros de Services du modèle objet

DECLARE_DYNAMIC Permet l'accès à information classe de run-time (doit être utilisé dans la déclaration de classe).
DECLARE_DYNCREATE Permet la création dynamique et accès à l'information de classe run-time (doit être utilisé dans la déclaration de classe).
DECLARE_SERIAL Permet la sérialisation et l'accès aux informations de la classe de run-time (doit être utilisé dans la déclaration de classe).
IMPLEMENT_DYNAMIC Permet l'accès à information classe de run-time (doit être utilisé dans l'implémentation de la classe).
IMPLEMENT_DYNCREATE Permet la création dynamique et accès à l'information de run-time (doit être utilisé dans l'implémentation de la classe).
IMPLEMENT_SERIAL Permet la sérialisation et l'accès aux informations de la classe de run-time (doit être utilisé dans l'implémentation de la classe).
RUNTIME_CLASS Retourne la structure CRuntimeClass qui correspond à la classe nommée.

OLE nécessite souvent la création dynamique d'objets au moment de l'exécution. Par exemple, une application de serveur OLE doit être capable de créer dynamiquement des objets OLE en réponse à une demande d'un client. De même, un serveur automation doit être capable de créer des éléments de réponse aux demandes des clients automation.

La bibliothèque Microsoft Foundation Class fournit deux macros spécifiques à OLE.

Création dynamique d'objets OLE

DECLARE_OLECREATE Permet aux objets d'être créé grâce à l'automatisation OLE.
IMPLEMENT_OLECREATE Permet aux objets qui sera créé par le système OLE.

Index