次の方法で共有


BC30828:'As Any' は、'Declare' ステートメントではサポートされていません。

Visual Basic 6.0 以前のバージョンでは、Any データ型は 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)
    

関連項目