Partager via


'As Any' n'est pas pris en charge dans les instructions 'Declare'

Mise à jour : novembre 2007

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

Le type de données Any était utilisé avec des instructions Declare dans les versions antérieures de Visual Basic, afin de permettre l'utilisation d'arguments pouvant contenir tout type de données. Visual Basic prend cependant en charge les surcharges ; le type de données Any devient donc obsolète.

ID d'erreur : BC30828

Pour corriger cette erreur

  1. Déclarez les paramètres du type spécifique que vous souhaitez utiliser, comme dans l'exemple suivant.

    Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" ( _
        ByVal lpBuffer As String, _
        ByRef nSize As Integer) _
        As Integer
    
  2. Utilisez l'attribut MarshalAsAttribute pour spécifier As Any lorsque Void* est attendu par la procédure appelée.

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

Voir aussi

Tâches

Procédure pas à pas : appel des API Windows

Concepts

Création de prototypes dans du code managé

Référence

MarshalAsAttribute

Declare, instruction