Share via


Modelo de objetos Services en tiempo de ejecución

Las clases CObject y Recursos encapsulan varios servicios de objeto, incluido el acceso a la información de la clase en tiempo de ejecución, la serialización, y la creación de objetos dinámica.Todas las clases derivadas de CObject heredan esta funcionalidad.

Acceso a la información de la clase en tiempo de ejecución permite determinar información sobre una clase de objeto en tiempo de ejecución.La capacidad de determinar el tipo de un objeto en tiempo de ejecución es útil si necesita la comprobación de tipo adicional de los argumentos de la función y cuando debe escribir el código especial basado en la clase de un objeto.La información de la clase en tiempo de ejecución no se admite directamente en el lenguaje C++.

La serialización es el proceso de escritura o lectura el contenido de un objeto de o desde un archivo.Puede usar la serialización para almacenar el contenido de un objeto incluso después de cerrar la aplicación.El objeto se puede leer del archivo cuando se reinicia la aplicación.Estos objetos de datos se “persistentes.”

La creación de objetos dinámica permite crear un objeto de una clase especificada en tiempo de ejecución.Por ejemplo, el documento, la vista, y los objetos de cuadro deben admitir la creación dinámica porque el marco necesario crearlos dinámicamente.

La tabla siguiente muestra las macros MFC que información admiten la clase en tiempo de ejecución, serialización, y creación dinámica.

Para obtener más información sobre estos servicios y la serialización de objetos en tiempo de ejecución, vea el artículo clase de CObject: Información de acceso de la clase en tiempo de ejecución.

Macros de los servicios del modelo de objetos en tiempo de ejecución

DECLARE_DYNAMIC

Permite el acceso a la información de la clase en tiempo de ejecución (se utiliza en la declaración de clase).

DECLARE_DYNCREATE

Habilita la creación dinámica y el acceso a la información de la clase en tiempo de ejecución (se utiliza en la declaración de clase).

DECLARE_SERIAL

Habilita la serialización y el acceso a la información de la clase en tiempo de ejecución (se utiliza en la declaración de clase).

IMPLEMENT_DYNAMIC

Permite el acceso a la información de la clase en tiempo de ejecución (se utiliza en la implementación de la clase).

IMPLEMENT_DYNCREATE

Habilita la creación dinámica y el acceso a la información en tiempo de ejecución (se utiliza en la implementación de la clase).

IMPLEMENT_SERIAL

Permite la serialización y el acceso a la información de la clase en tiempo de ejecución (se utiliza en la implementación de la clase).

RUNTIME_CLASS

Devuelve la estructura de CRuntimeClass que corresponde a la clase denominada.

OLE normalmente requiere la creación dinámica de objetos en tiempo de ejecución.Por ejemplo, una aplicación de servidor OLE debe poder crear elementos OLE dinámicamente en respuesta a una solicitud de un cliente.Igualmente, un servidor de automatización debe poder crear elementos en respuesta a solicitudes de clientes de automatización.

La biblioteca Microsoft Foundation Class proporciona dos macros específicas de OLE.

Creación dinámica de objetos OLE

DECLARE_OLECREATE

Habilita los objetos que se van a crear con la automatización OLE.

IMPLEMENT_OLECREATE

Habilita los objetos que se van a crear por el sistema OLE.

Vea también

Conceptos

Macros y funciones globales de MFC