Classe COleTemplateServer

Utilizzata per i server di modifica visiva OLE, i server di automazione e i contenitori di collegamento (applicazioni che supportano collegamenti a incorporamenti).

Sintassi

class COleTemplateServer : public COleObjectFactory

Membri

Costruttori pubblici

Nome Descrizione
COleTemplateServer::COleTemplateServer Costruisce un oggetto COleTemplateServer.

Metodi pubblici

Nome Descrizione
COleTemplateServer::ConnectTemplate Connette un modello di documento all'oggetto sottostante COleObjectFactory .
COleTemplateServer::Unregister Annulla la registrazione del modello di documento associato.
COleTemplateServer::UpdateRegistry Registra il tipo di documento con il Registro di sistema OLE.

Osservazioni:

Questa classe è derivata dalla classe COleObjectFactory. In genere, è possibile usare COleTemplateServer direttamente anziché derivare la propria classe. COleTemplateServer utilizza un oggetto CDocTemplate per gestire i documenti del server. Usare COleTemplateServer quando si implementa un server completo, ovvero un server che può essere eseguito come applicazione autonoma. I server completi sono in genere più applicazioni MDI (Document Interface), anche se sono supportate applicazioni SDI (Single Document Interface). È necessario un COleTemplateServer oggetto per ogni tipo di documento server supportato da un'applicazione, ovvero se l'applicazione server supporta sia fogli di lavoro che grafici, è necessario disporre di due COleTemplateServer oggetti.

COleTemplateServer esegue l'override della OnCreateInstance funzione membro definita da COleObjectFactory. Questa funzione membro viene chiamata dal framework per creare un oggetto C++ del tipo appropriato.

Per altre informazioni sui server, vedere l'articolo Server: Implementazione di un server.

Gerarchia di ereditarietà

CObject

CCmdTarget

COleObjectFactory

COleTemplateServer

Requisiti

Intestazione: afxdisp.h

COleTemplateServer::COleTemplateServer

Costruisce un oggetto COleTemplateServer.

COleTemplateServer();

Osservazioni:

Per una breve descrizione dell'uso della COleTemplateServer classe , vedere la panoramica della classe COleLinkingDoc .

COleTemplateServer::ConnectTemplate

Connette il modello di documento a cui punta pDocTemplate all'oggetto COleObjectFactory sottostante.

void ConnectTemplate(
    REFCLSID clsid,
    CDocTemplate* pDocTemplate,
    BOOL bMultiInstance);

Parametri

clsid
Riferimento all'ID classe OLE richiesto dal modello.

pDocTemplate
Puntatore al modello di documento.

bMultiInstance
Indica se una singola istanza dell'applicazione può supportare più istanze. Se TRUE, vengono avviate più istanze dell'applicazione per ogni richiesta per creare un oggetto.

Osservazioni:

Per altre informazioni, vedere Chiave CLSID in Windows SDK.

COleTemplateServer::Unregister

Annulla la registrazione del modello di documento associato.

BOOL Unregister();

Valore restituito

TRUE se l'operazione riesce; in caso contrario, FALSE.

Osservazioni:

EnterRemarks

COleTemplateServer::UpdateRegistry

Carica le informazioni sul tipo di file dalla stringa del modello di documento e inserisce tali informazioni nel Registro di sistema OLE.

void UpdateRegistry(
    OLE_APPTYPE nAppType = OAT_INPLACE_SERVER,
    LPCTSTR* rglpszRegister = NULL,
    LPCTSTR* rglpszOverwrite = NULL,
    BOOL bRegister = TRUE);

Parametri

nAppType
Valore dell'enumerazione OLE_APPTYPE, definita in AFXDISP.H. Può avere uno dei valori seguenti:

  • OAT_INPLACE_SERVER Server ha un'interfaccia utente server completa.

  • OAT_SERVER Server supporta solo l'incorporamento.

  • OAT_CONTAINER Contenitore supporta collegamenti a oggetti incorporati.

  • OAT_DISPATCH_OBJECT Object è in grado di supportare IDispatch.

  • OAT_DOC_OBJECT_SERVER Server supporta sia l'incorporamento che il modello del componente Document Object.

rglpszRegister
Elenco di voci scritte nel Registro di sistema solo se non esistono voci.

rglpszOverwrite
Elenco di voci scritte nel Registro di sistema indipendentemente dal fatto che esistano voci precedenti.

bRegister
Determina se la classe deve essere registrata. Se bRegister è TRUE, la classe viene registrata nel Registro di sistema. In caso contrario, annulla la registrazione della classe .

Osservazioni:

Le informazioni di registrazione vengono caricate tramite una chiamata a CDocTemplate::GetDocString. Le sottostringhe recuperate sono quelle identificate regFileTypeIddagli indici , regFileTypeNamee fileNewName, come descritto nelle pagine di GetDocString riferimento.

Se la regFileTypeId sottostringa è vuota o se la chiamata a GetDocString non riesce per qualsiasi altro motivo, questa funzione ha esito negativo e le informazioni sul file non vengono immesse nel Registro di sistema.

Le informazioni negli argomenti rglpszRegister e rglpszOverwrite sono scritte nel Registro di sistema tramite una chiamata a AfxOleRegisterServerClass. Le informazioni predefinite, registrate quando i due argomenti sono NULL, sono adatte per la maggior parte delle applicazioni. Per informazioni sulla struttura delle informazioni contenute in questi argomenti, vedere AfxOleRegisterServerClass.

Per altre informazioni, vedere Implementing the IDispatch Interface.

Vedi anche

HIERSVR di esempio MFC
Classe COleObjectFactory
Grafico della gerarchia
Classe COleServerDoc
Classe COleServerItem