Freigeben über


As Any wird in Declare-Anweisungen nicht unterstützt

Aktualisiert: November 2007

'As Any' is not supported in 'Declare' statements

Der Any-Datentyp wurde in Visual Basic 6.0 und früheren Versionen in Declare-Anweisungen verwendet, um die Verwendung von Argumenten zu ermöglichen, die Daten eines beliebigen Typs enthalten konnten. Visual Basic unterstützt jedoch das Überladen, sodass der Any-Datentyp damit veraltet ist.

Fehler-ID: BC30828

So beheben Sie diesen Fehler

  1. Deklarieren Sie Parameter des jeweiligen Typs, den Sie verwenden möchten. Beispiel:

    Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" ( _
        ByVal lpBuffer As String, _
        ByRef nSize As Integer) _
        As Integer
    
  2. Verwenden Sie das MarshalAsAttribute-Attribut, um As Any anzugeben, wenn von der aufgerufenen Prozedur Void* erwartet wird.

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

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Aufrufen von Windows-APIs

Konzepte

Erstellen von Prototypen in verwaltetem Code

Referenz

MarshalAsAttribute

Declare-Anweisung