'As Any' не поддерживается в операторах Declare
Обновлен: Ноябрь 2007
'As Any' is not supported in 'Declare' statements
Тип данных Any использовался с инструкциями Declare в Visual Basic 6.0 и более ранних версиях, чтобы разрешить использование аргументов любых типов данных. Однако Visual Basic поддерживает перегрузку, и поэтому тип данных Any устарел.
Идентификатор ошибки: BC30828
Исправление этой ошибки
В объявлениях параметров укажите конкретный используемый тип, например:
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" ( _ ByVal lpBuffer As String, _ ByRef nSize As Integer) _ As Integer
Используйте атрибут MarshalAsAttribute для указания As Any, когда вызываемой процедурой ожидается Void*.
Declare Sub SetData Lib "..\LIB\UnmgdLib.dll" ( _ ByVal x As Short, _ <System.Runtime.InteropServices.MarshalAsAttribute( _ System.Runtime.InteropServices.UnmanagedType.AsAny)> _ ByVal o As Object)
См. также
Задачи
Пошаговое руководство. Вызов интерфейсов прикладного программирования (API) Windows
Основные понятия
Создание прототипов в управляемом коде