Condividi tramite


Metodo References.AddActiveX

Consente di aggiungere un riferimento a una libreria dei tipi ActiveX.

Spazio dei nomi: VSLangProj
Assembly: VSLangProj (in vslangproj.dll)

Sintassi

'Dichiarazione
'Utilizzo

Parametri

  • bstrTypeLibGuid
    Obbligatorio. L'identificatore univoco globale (GUID) della libreria dei tipi, espresso come stringa.
  • lMajorVer
    Facoltativo. Il numero di versione principale. Se omesso, verrà utilizzato il valore 0.
  • lMinorVer
    Facoltativo. Il numero di versione secondario. Se omesso, verrà utilizzato il valore 0.
  • lLocaleId
    ID delle impostazioni internazionali facoltativo. Per ulteriori informazioni, vedere LocaleID.
  • bstrWrapperTool
    Lo strumento wrapper da utilizzare quando viene generato un assembly wrapper per la libreria dei tipi. Nella tabella riportata di seguito viene fornita una descrizione dei valori supportati.

    Valore

    Risultato

    "tlbimp"

    Il sistema del progetto genera un wrapper generico utilizzabile per accedere alle proprietà e ai metodi dell'oggetto COM.

    "aximp"

    Il sistema del progetto genera un wrapper utilizzato da Windows Form per l'hosting di ActiveX.

    "" (stringa vuota)

    Il sistema del progetto verifica l'esistenza di un assembly di interoperabilità primario per la libreria dei tipi specificata. L'assembly eventualmente trovato viene utilizzato come wrapper per i metodi e le proprietà dell'oggetto COM. Se l'assembly non viene trovato, il comportamento corrisponde a quello determinato da "tlbimp" .

Valore restituito

Restituisce un oggetto Reference per l'oggetto libreria ActiveX richiesto.

Note

Il metodo AddActiveX aggiunge a un progetto i riferimenti per un oggetto specificato e le dipendenze elencate dall'oggetto. Una chiamata al metodo può pertanto determinare l'aggiunta all'insieme References di più riferimenti.

Il formato valido di un GUID corrisponde a {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}, dove X è una cifra esadecimale (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F). Per determinare il GUID per un oggetto ActiveX, è possibile visualizzare il file OCX o TLB utilizzando lo strumento Oleview.exe distribuito con Visual Studio.

Se nell'insieme è incluso un riferimento con la stessa identità, verrà generato un errore.

Un errore che indica una libreria non registrata, quando viene fatto riferimento a un oggetto COM valido, è in genere dovuto al mancato passaggio di un valore valido per il parametro lMajorVer al metodo AddActiveX. Per impostazione predefinita, il metodo AddActiveX utilizza un valore pari a 0 per tutto tranne che per il GUID. Se ad esempio la versione dell'oggetto COM è 1, la chiamata avrà esito negativo in quanto non esiste una versione 0 registrata nella libreria dei tipi. Durante la chiamata della versione 1.0 di Windows Media Player, ad esempio,

ref = refColl.AddActiveX("{22D6F304-B0F6-11D0-94AB-0080C74C7E95}")

produce l'errore citato in precedenza, ma

ref = refColl.AddActiveX("{22D6F304-B0F6-11D0-94AB-0080C74C7E95}", 1)

funziona correttamente.

Il metodo aggiunge esclusivamente librerie dei tipi registrati. Viene effettuata una chiamata a QueryPathOfRegTypeLib, una funzione di automazione API (in precedenza di automazione OLE), con cui le informazioni fornite vengono passate al metodo AddActiveX.

Se il nome del file dell'oggetto ActiveX è noto, l'oggetto potrà essere aggiunto utilizzando il metodo Add. Il metodo Add non richiede il GUID, la versione o l'ID delle impostazioni internazionali.

Per rimuovere un riferimento, utilizzare Remove.

Per ulteriori informazioni sui wrapper per gli oggetti COM, l'hosting di ActiveX e gli assembly di interoperabilità primari, vedere Utilità di importazione della libreria dei tipi (Tlbimp.exe) e Utilità di importazione di controlli ActiveX di Windows Form (Aximp.exe).

Esempio

' Macro Editor
' Add a reference to the ActiveX Data Objects Library, Version 2.5
Imports VSLangProj
Public Sub AddARef()
   Try
      Dim proj As VSLangProj.VSProject = _
         CType(DTE.Solution.Projects.Item(1).Object, _
         VSLangProj.VSProject)
      ' GUID for ActiveX Data Objects, version 2.5
      proj.References.AddActiveX( _
      "{00000205-0000-0010-8000-00AA006D2EA4}", 2, 5)
   Catch ex As System.Exception
      MsgBox("Cannot add that reference.")
   End Try
End Sub

Vedere anche

Riferimenti

Interfaccia References
Membri References
Spazio dei nomi VSLangProj