Condividi tramite


Servizi modelli a oggetti runtime

Le classi CObject e CRuntimeClass incapsulano molti servizi dell'oggetto, incluso l'accesso alle informazioni sulla classe di runtime, per la serializzazione e la creazione di un oggetto dinamica. Tutte le classi derivate da CObject ereditano questa funzionalità.

Per accedere alle informazioni sulla classe di runtime consente di individuare informazioni su una classe dell'oggetto in fase di esecuzione. La possibilità di determinare la classe di un oggetto in fase di esecuzione è utile quando è necessario controllare di tipo aggiuntivo argomenti della funzione e quando è necessario scrivere codice specifico in base alla classe di oggetto. Le informazioni sulla classe di runtime non è supportato direttamente dal linguaggio C++.

La serializzazione è il processo di scrittura o lettura del contenuto di un oggetto o da un file. È possibile utilizzare la serializzazione per archiviare il contenuto di un oggetto anche al termine dell'applicazione. L'oggetto può essere letto dal file quando l'applicazione viene riavviata. Tali oggetti dati sarà "persistenti."

La creazione di un oggetto dinamico consente di creare un oggetto di una classe specificata in fase di esecuzione. Ad esempio, il documento, la visualizzazione e oggetti di frame devono supportare la creazione dinamica in quanto il framework necessario crearle dinamicamente.

Nella tabella seguente sono elencate le macro MFC che supportano le informazioni sulla classe di runtime, la serializzazione e la creazione dinamica.

Per ulteriori informazioni su questi servizi di runtime e la serializzazione di oggetti, vedere l'articolo Classe da CObject: Accedere a informazioni sulla classe di runtime.

Il modello a oggetti di runtime elabora le macro

DECLARE_DYNAMIC

Consente l'accesso alle informazioni sulla classe di runtime (deve essere utilizzato nella dichiarazione di classe).

DECLARE_DYNCREATE

Consente la creazione e l'accesso dinamici alle informazioni sulla classe di runtime (deve essere utilizzato nella dichiarazione di classe).

DECLARE_SERIAL

Abilita la serializzazione e l'accesso alle informazioni sulla classe di runtime (deve essere utilizzato nella dichiarazione di classe).

IMPLEMENT_DYNAMIC

Consente l'accesso alle informazioni sulla classe di runtime (che sarà utilizzato nell'implementazione della classe.

IMPLEMENT_DYNCREATE

Consente la creazione e l'accesso dinamici a informazioni di runtime (che sarà utilizzato nell'implementazione della classe.

IMPLEMENT_SERIAL

Consentiti serializzazione e accedere alle informazioni sulla classe di runtime (che sarà utilizzato nell'implementazione della classe.

RUNTIME_CLASS

Restituisce la struttura di CRuntimeClass corrispondente alla classe denominata.

OLE richiede spesso la creazione dinamica di oggetti in fase di esecuzione. Ad esempio, un'applicazione server OLE deve essere in grado di creare dinamicamente gli elementi OLE in risposta a una richiesta da un client. Analogamente, un server di automazione deve essere in grado di creare elementi in risposta alle richieste dei client di automazione.

La libreria MFC fornisce due macro specifiche OLE.

Creazione dinamica di oggetti OLE

DECLARE_OLECREATE

Abilita gli oggetti da creare con automazione OLE.

IMPLEMENT_OLECREATE

Abilita gli oggetti da creare dal sistema OLE.

Vedere anche

Concetti

Macro e funzioni globali MFC