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

更新 : 2007 年 11 月

Any データ型は、Visual Basic 6.0 とそれ以前のバージョンの Declare ステートメントで、任意のデータ型を受け取ることができる引数を宣言するため使用されていました。Visual Basic ではオーバーロードがサポートされているので、Any データ型を使用することはありません。

Error 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)
    

参照

処理手順

チュートリアル : Windows API の呼び出し

概念

マネージ コードでのプロトタイプの作成

参照

MarshalAsAttribute

Declare ステートメント