Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il passaggio successivo per fornire l'automazione per il progetto consiste nell'implementare gli oggetti progetto standard: gli Projects oggetti e ProjectItems , gli Project oggetti e ProjectItem e gli oggetti rimanenti univoci per l'implementazione. Questi oggetti standard sono definiti nel file Dteinternal.h. Nell'esempio BscPrj viene fornita un'implementazione degli oggetti standard. È possibile usare queste classi come modelli per creare oggetti progetto standard che si trovano side-by-side con oggetti di progetto di altri tipi di progetto.
Un consumer di automazione presuppone che sia in grado di chiamare Solution("<UniqueProjName>") e ProjectItems (n) dove n è un numero di indice per ottenere un progetto specifico nella soluzione. L'esecuzione di questa chiamata di automazione fa sì che l'ambiente chiami GetProperty nella gerarchia di progetto appropriata, passando VSITEMID_ROOT come parametro ItemID e VSHPROPID_ExtObject come parametro VSHPROPID. IVsHierarchy::GetProperty restituisce un IDispatch puntatore all'oggetto di automazione che fornisce l'interfaccia principale Project implementata.
Di seguito è riportata la sintassi di IVsHierarchy::GetProperty.
HRESULT GetProperty (
VSITEMIDitemid,
VSHPROPIDpropid,
VARIANT *pvar
);
I progetti supportano l'annidamento e usano raccolte per creare gruppi di elementi di progetto. La gerarchia ha un aspetto simile al seguente.
Projects
|- Project
|- ProjectItems (a collection of ProjectItem)
|- ProjectItem (single object) or ProjectItems (another collection)
L'annidamento significa che un ProjectItem oggetto può essere ProjectItems insieme contemporaneamente perché una ProjectItems raccolta può contenere gli oggetti annidati. L'esempio di progetto di base non illustra questo annidamento. Implementando l'oggetto Project , si partecipa alla struttura simile ad albero che caratterizza la progettazione del modello di automazione complessivo.
L'automazione del progetto segue il percorso nel diagramma seguente.

Automazione del progetto
Se non si implementa un Project oggetto , l'ambiente restituirà comunque un oggetto generico Project che contiene solo il nome del progetto.