BC30828:“Declare”语句中不支持“As Any”

Any 数据类型与 Visual Basic 6.0 和更早版本中的 Declare 语句一起使用,以允许使用可以包含任何类型数据的参数。 但是,Visual Basic 支持重载,这就导致了 Any 数据类型过时。

错误 ID:BC30828

更正此错误

  1. 声明要使用的特定类型的参数;例如。

    Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (
        ByVal lpBuffer As String,
        ByRef nSize As Integer) As Integer
    
  2. 当被调用的过程需要 Void* 时,使用 MarshalAsAttribute 属性指定 As Any

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

另请参阅