'As Any' non è supportato nelle istruzioni 'Declare'

Aggiornamento: novembre 2007

'As Any' is not supported in 'Declare' statements

In Visual Basic 6.0 e nelle versioni precedenti il tipo di dati Any era utilizzato con le istruzioni Declare per consentire di utilizzare argomenti contenenti qualsiasi tipo di dati. Poiché in Visual Basic è supportato l'overload, il tipo di dati Any è obsoleto.

ID errore: BC30828

Per correggere l'errore

  1. Dichiarare parametri del tipo specifico che si desidera utilizzare, come nel seguente esempio.

    Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" ( _
        ByVal lpBuffer As String, _
        ByRef nSize As Integer) _
        As Integer
    
  2. Utilizzare l'attributo MarshalAsAttribute per specificare As Any quando la routine chiamata prevede Void*.

    Declare Sub SetData Lib "..\LIB\UnmgdLib.dll" ( _
        ByVal x As Short, _
        <System.Runtime.InteropServices.MarshalAsAttribute( _
            System.Runtime.InteropServices.UnmanagedType.AsAny)> _
            ByVal o As Object)
    

Vedere anche

Attività

Procedura dettagliata: chiamata delle API di Windows

Concetti

Creazione di prototipi nel codice gestito

Riferimenti

MarshalAsAttribute

Istruzione Declare