次の方法で共有


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

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. MarshalAsAttribute属性を使用して、呼び出されるプロシージャでVoid*が予想される場合に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)
    

こちらも参照ください