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

As classes CObject e CRuntimeClass encapsulam vários serviços de objeto, incluindo o acesso a informações de classe de tempo de execução, serialização e criação do objeto dinâmico. Tudo 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 de um 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 tipo-verificação de argumentos da função, e quando você deve gravar código de finalidade especial com base na classe de um objeto. Informações de classe de tempo de execução não são suportadas diretamente pela linguagem C++.

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

Criação do objeto dinâmico 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 o framework 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 Run-Time no Guia do programador do Visual C++.

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

DECLARE_DYNAMIC Permite o Acessar às informações de classe de tempo de execução (devem ser usados na declaração de classe).
DECLARE_DYNCREATE Permite que dinâmico criação e acesso a informações de classe de tempo de execução (devem ser usados na declaração de classe).
DECLARE_SERIAL Permite a serialização e acessar a informações de classe de tempo de execução (devem ser usados na declaração de classe).
IMPLEMENT_DYNAMIC Permite o Acessar às informações de classe de tempo de execução (devem ser usados na implementação de classe).
IMPLEMENT_DYNCREATE Permite que dinâmico criação e acesso a informações de tempo de execução (devem ser usados na implementação de classe).
IMPLEMENT_SERIAL Permite a serialização e acessar a informações de classe de tempo de execução (devem ser usados na implementação de classe).
RUNTIME_CLASS Retorna a estrutura CRuntimeClass que corresponde à classe nomeada.

OLE requer frequentemente a criação dinâmica de objetos em tempo de execução. Por exemplo, um aplicativo de servidor OLE deve ser capaz de criar itens OLE dinamicamente em resposta a uma Solicitar 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.

O Microsoft Foundation Biblioteca de Classees fornece dois macros específicas para OLE.

Criação dinâmica de objetos OLE

DECLARE_OLECREATE Habilita os objetos a serem criados por meio de automação OLE.
IMPLEMENT_OLECREATE Habilita os objetos a serem criados pelo sistema OLE.

Index