Compartilhar via


Objeto em time de execução Serviços Model

As classes CObject and CRuntimeClass encapsular vários serviços de objeto, incluindo o acesso a em time de execução informações, serialização e criação de objeto dinâmico de classe.Todas as classes derivadas de CObject herdam essa funcionalidade.

O acesso aos em time de execução informações de classe permite determinar informações sobre classe do objeto em time de execução.A capacidade de determinar a classe de um objeto em time de execução é útil quando você precisar extra-verificação de tipos de argumentos de função e quando você deve escrever código de finalidade especial com base na classe de um objeto.em time de execução informações de classe não oferece suporte diretamente a linguagem C++.

Serialização é o processo de gravar ou ler o Sumário de um objeto para ou de um arquivo.Você pode usar serialização para armazenar Sumário de um objeto, mesmo depois que o aplicativo termina.O objeto, em seguida, pode ser lido do arquivo quando o aplicativo for reiniciado.Tais objetos de dados são considerados como "persistente".

Criação de objetos dinâmicos permite criar um objeto de uma classe especificada em time de execução.Por exemplo, documento, exibição e objetos de quadro devem oferecer suporte criar dinâmica porque a estrutura precisa criá-los dinamicamente.

A tabela a seguir lista as macros MFC que suportam em time de execução informações, serialização e criação dinâmica de classe.

Para obter mais informações sobre essas em time de execução Serviços de Objeto e serialização, consulte o artigo Classe CObject: Acessando informações de classe em tempo de execução.

Objeto em time de execução macros de serviços modelo

DECLARE_DYNAMIC

Permite o acesso ao em time de execução informações (deve ser usado na declaração da classe) da classe.

DECLARE_DYNCREATE

Permite a criação dinâmica e acesso a em time de execução informações (deve ser usado na declaração da classe) da classe.

DECLARE_SERIAL

Permite a serialização e o acesso a em time de execução informações (deve ser usado na declaração da classe) da classe.

IMPLEMENT_DYNAMIC

Permite o acesso ao em time de execução informações (deve ser usado na implementação de classe) da classe.

IMPLEMENT_DYNCREATE

Permite a criação dinâmica e acesso a em time de execução informações (deve ser usada na implementação de classe).

IMPLEMENT_SERIAL

Permite a serialização e o acesso às informações de classe de time de execução (deve ser usado na implementação de classe).

RUNTIME_CLASS

Retorna o CRuntimeClass estrutura que corresponde à classe nomeada.

OLE freqüentemente requer a criação dinâmica de objetos em time de execução.Por exemplo, um aplicativo servidor OLE deve ser capaz de criar itens OLE dinamicamente em resposta a uma solicitação de um cliente.Da mesma forma, um servidor de automação deve ser capaz de criar itens em resposta às solicitações dos clientes de automação.

A biblioteca Microsoft Foundation classe fornece duas macros específicas para OLE.

Criação dinâmica de objetos OLE

DECLARE_OLECREATE

Permite que objetos sejam criados por meio da automação OLE.

IMPLEMENT_OLECREATE

Permite que objetos sejam criados pelo sistema OLE.

Consulte também

Conceitos

Macros do MFC e globais