Share via


Services au moment de l'exécution du modèle objet

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

L'accès aux informations sur la classe à l'exécution vous permet de déterminer des informations sur une classe d'objets au moment de l'exécution.La capacité de déterminer la classe d'un objet est au moment de l'exécution utile lorsque vous avez besoin de la vérification de type supplémentaire des arguments et lorsque vous devez écrire du code pour un objectif particulier selon la classe d'un objet.Les informations sur la classe d'exécution ne sont pas prises en charge directement par le langage C++.

La sérialisation est le processus de l'écriture ou de lecture le contenu d'un objet dans ou à partir d'un fichier.Vous pouvez utiliser la sérialisation pour stocker le contenu d'un objet lorsque l'application s'arrête.L'objet peut ensuite être lu à partir de le fichier lorsque l'application est redémarrée.De tels objets de données sont dits « persistants. »

La création d'objet dynamique vous permet de créer un objet de classe spécifiée au moment de l'exécution.Par exemple, le document, la vue, les objets et frames doivent prendre en charge la création dynamique car l'infrastructure doit les créer dynamiquement.

Le tableau suivant répertorie les macros MFC qui prennent en charge des informations sur la classe à l'exécution, la sérialisation, et la création dynamique.

Pour plus d'informations sur ces services au moment de l'exécution et sérialisation d'objets, consultez l'article classe de CObject : Les informations sur la classe au moment de l'exécution d'accès.

Le modèle objet d'exécution échangent des macros

DECLARE_DYNAMIC

Permet d'accéder aux informations sur la classe à l'exécution (doit être utilisé dans la déclaration de classe).

DECLARE_DYNCREATE

Permet la création dynamique et l'accès aux informations sur la classe à l'exécution (doit être utilisé dans la déclaration de classe).

DECLARE_SERIAL

Active la sérialisation et l'accès aux informations sur la classe à l'exécution (doit être utilisé dans la déclaration de classe).

IMPLEMENT_DYNAMIC

Permet d'accéder aux informations sur la classe à l'exécution (doit être utilisé dans l'implémentation de classe).

IMPLEMENT_DYNCREATE

Permet la création dynamique et l'accès aux informations d'exécution (doit être utilisé dans l'implémentation de classe).

IMPLEMENT_SERIAL

Autorise sérialisation et accéder aux informations sur la classe à l'exécution (doit être utilisé dans l'implémentation de classe).

RUNTIME_CLASS

Retourne la structure d' CRuntimeClass qui correspond à la classe nommée.

OLE requiert généralement la création dynamique d'objets au moment de l'exécution.Par exemple, une NOTION application serveur doit pouvoir créer de OLE éléments dynamiquement en réponse à une demande d'un client.De même, un serveur Automation doit pouvoir créer des éléments en réponse à les demandes des clients Automation.

La bibliothèque MFC fournit deux macros spécifiques à OLE.

Création dynamique d'objets OLE

DECLARE_OLECREATE

Active les objets à créer dans OLE automation.

IMPLEMENT_OLECREATE

Active les objets à créer par le OLE système.

Voir aussi

Concepts

Macro MFC et Globals