Compartilhar via


Serviços de modelo de objeto de tempo de execução

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

Acesso a informações de classe de tempo de execução permite que você determinar informações sobre classe do objeto em tempo de execução.A capacidade de determinar a classe de um objeto em tempo de execução é útil quando você precisa extra-verificação de tipo de argumentos de função e você deve escrever código de finalidade especial com base na classe de um objeto.Não há informações de classe de tempo de execução diretamente, a linguagem C++.

Serialização é o processo de escrever ou ler o conteúdo de um objeto para ou de um arquivo.Você pode usar serialização para armazenar o conteúdo do objeto mesmo depois que o aplicativo termina.O objeto, em seguida, pode ser lido do arquivo quando o aplicativo for reiniciado.Esses objetos de dados são considerados "persistentes".

Criação de objetos dinâmicos permite que você crie um objeto de uma classe especificada em tempo de execução.Por exemplo, documento, exibir e objetos de quadro devem suporte criação dinâmica porque a estrutura precisa criá-los dinamicamente.

A tabela a seguir lista as macros do MFC que oferecem suporte a informações de classe de tempo de execução, serialização e criação dinâmica.

Para obter mais informações sobre esses serviços de objeto de tempo de execução e serialização, consulte o artigo CObject classe: acessar informações de classe de tempo de execução.

Macros de serviços de modelo de objeto de tempo de execução

DECLARE_DYNAMIC

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

DECLARE_DYNCREATE

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

DECLARE_SERIAL

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

IMPLEMENT_DYNAMIC

Permite acesso a informações de classe de tempo de execução (deve ser usado na implementação de classe).

IMPLEMENT_DYNCREATE

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

IMPLEMENT_SERIAL

Permite a serialização e acessar informações de classe de tempo de execução (deve ser usado na implementação de classe).

RUNTIME_CLASS

Retorna o CRuntimeClass estrutura que corresponde à classe nomeada.

Freqüentemente, a tecnologia OLE requer a criação dinâmica de objetos em tempo 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 a solicitações de clientes de automação.

A biblioteca Microsoft Foundation Class fornece dois macros específicas para OLE.

Criação dinâmica de objetos OLE

DECLARE_OLECREATE

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

IMPLEMENT_OLECREATE

Permite que objetos sejam criados pelo sistema OLE.

Consulte também

Conceitos

Globais e Macros do MFC