Lire en anglais

Partager via


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

Le type de données Any a été utilisé avec des instructions Declare dans Visual Basic 6.0 et versions antérieures pour permettre l’utilisation d’arguments pouvant contenir n’importe quel type de données. Toutefois, Visual Basic prend en charge la surcharge et rend le type de données Any obsolète.

ID d’erreur : BC30828

Pour corriger cette erreur

  1. Déclarez les paramètres du type spécifique que vous souhaitez utiliser.

    VB
    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 quand Void* est attendu par la procédure appelée.

    VB
    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