Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit der Programmiersprache C++ können Entwickler direkt auf den Arbeitsspeicher zugreifen, in dem eine bestimmte Variable gespeichert ist. Speicherzeiger bieten diesen direkten Zugriff. In Visual Basic werden Zeiger für Sie behandelt. Beispielsweise entspricht ein Parameter, der als Zeiger auf ein int in C++ deklariert wird, einem Parameter, der in Visual Basic als ByRefInteger deklariert wird.
Ein Parameter, der in Visual Basic als Zeichenfolge deklariert ist, wird als Zeiger auf einen BSTR in C++ deklariert. Das Festlegen eines Zeichenfolgenzeigers auf NULL in C++ entspricht dem Festlegen der Zeichenfolge auf die vbNullString-Konstante in Visual Basic. Das Übergeben einer Zeichenfolge der Länge null ("") an eine Funktion, die zum Empfangen von NULL entwickelt wurde, funktioniert nicht, da dadurch anstelle eines Nullzeigers ein Zeiger auf eine Zeichenfolge der Länge Null übergeben wird.
C++ unterstützt Datencontainer, insbesondere Strukturen und Unions, die in frühen Versionen von Visual Basic keine Entsprechung aufweisen. Aus diesem Grund umschließen COM-Objekte in der Regel Informationen, die in der Regel in Strukturen und Unions in Objektklassen gespeichert werden. Einige COM-Objekte können jedoch Strukturen enthalten, sodass Teile der Methoden oder Funktionen des Objekts für Visual Basic nicht zugänglich sind.
Einige C++-Datentypen werden in Visual Basic nicht unterstützt, z. B. nicht signierte Typen und HWND-Typen . Methoden, die diese Datentypen akzeptieren oder zurückgeben, sind in Visual Basic nicht verfügbar.
Visual Basic verwendet Automation-kompatible Datentypen als interne Datentypen. Daher sind C++-Datentypen, die mit Automation kompatibel sind, auch mit Visual Basic kompatibel. Datentypen, die nicht mit Automation kompatibel sind, können möglicherweise nicht in Visual Basic konvertiert werden.
In der folgenden Tabelle sind die Datentypen aufgeführt, die von Visual Basic und den zugehörigen VARTYPE-Entsprechungen unterstützt werden. VARTYPE ist eine Enumeration, die die Automation-Variantentypen auflistet.
| Datentyp in Visual Basic | VARTYPE-Entsprechung |
|---|---|
|
Integer |
16 Bit, signiert, VT_I2 |
|
Long |
32 Bit, signiert, VT_I4 |
|
Datum |
VT_DATE |
|
Währung |
VT_CY |
|
Object |
*VT_DISPATCH |
|
String |
VT_BSTR |
|
Boolean |
VT_BOOL |
|
Währung |
VT_DECIMAL |
|
Single |
VT_R4 |
|
Double |
VT_R8 |
|
Decimal |
VT_DECIMAL |
|
Byte |
VT_DECIMAL |
|
Variant |
VT_VARIANT |
Alle Parameter in Visual Basic, sofern sie nicht mit dem Schlüsselwort (keyword) ByVal bezeichnet sind, werden als Verweis (als Zeiger) statt nach Wert übergeben.
C++ und Visual Basic unterscheiden sich geringfügig in der Darstellung von Eigenschaften. In C++ werden Eigenschaften als Eine Gruppe von Accessorfunktionen dargestellt, die den Eigenschaftswert und eine, die den Eigenschaftswert abruft. In Visual Basic werden Eigenschaften als einzelnes Element dargestellt, das zum Abrufen oder Festlegen des Eigenschaftswerts verwendet werden kann.