Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
À l’aide du langage de programmation C++, les développeurs peuvent accéder directement à la mémoire qui stocke une variable particulière. Les pointeurs mémoire fournissent cet accès direct. En Visual Basic, les pointeurs sont gérés pour vous. Par exemple, un paramètre déclaré en tant que pointeur vers un int en C++ équivaut à un paramètre déclaré en Visual Basic sous la forme d’un entierByRef.
Un paramètre déclaré en tant que chaîne dans Visual Basic est déclaré en tant que pointeur vers un BSTR en C++. Définir un pointeur de chaîne sur NULL en C++ revient à définir la chaîne sur la constante vbNullString en Visual Basic. Le passage d’une chaîne de longueur nulle (« ») à une fonction conçue pour recevoir NULL ne fonctionne pas, car cela passe un pointeur vers une chaîne de longueur nulle au lieu d’un pointeur zéro.
C++ prend en charge les conteneurs de données, à savoir les structures et les unions, qui n’ont pas d’équivalent dans les versions antérieures de Visual Basic. Pour cette raison, les objets COM encapsulent généralement des informations qui sont généralement stockées dans des structures et des unions dans des classes d’objets. Toutefois, certains objets COM peuvent contenir des structures, ce qui rend certaines parties des méthodes ou fonctionnalités de l’objet inaccessibles à Visual Basic.
Certains types de données C++ ne sont pas pris en charge en Visual Basic, par exemple les types non signés et les types HWND . Les méthodes qui acceptent ou retournent ces types de données ne sont pas disponibles dans Visual Basic.
Visual Basic utilise des types de données compatibles avec Automation comme types de données internes. Ainsi, les types de données C++ compatibles avec Automation sont également compatibles avec Visual Basic. Les types de données qui ne sont pas compatibles avec Automation peuvent ne pas pouvoir être convertis en Visual Basic.
Le tableau suivant répertorie les types de données pris en charge par Visual Basic et leurs équivalents VARTYPE . VARTYPE est une énumération qui répertorie les types de variantes Automation.
| Type de données Visual Basic | VARTYPE équivalent |
|---|---|
|
Integer |
16 bits, signé, VT_I2 |
|
Long |
32 bits, signé, VT_I4 |
|
Date |
VT_DATE |
|
Devise |
VT_CY |
|
Object |
*VT_DISPATCH |
|
Chaîne |
VT_BSTR |
|
Booléen |
VT_BOOL |
|
Devise |
VT_DECIMAL |
|
Unique |
VT_R4 |
|
Double |
VT_R8 |
|
Décimal |
VT_DECIMAL |
|
Byte |
VT_DECIMAL |
|
Variant |
VT_VARIANT |
Tous les paramètres en Visual Basic, sauf s’ils sont étiquetés avec le mot clé ByVal, sont passés par référence (en tant que pointeurs) au lieu de par valeur.
C++ et Visual Basic diffèrent légèrement dans la façon dont ils représentent les propriétés. En C++, les propriétés sont représentées sous la forme d’un ensemble de fonctions d’accesseur, une qui définit la valeur de la propriété et une autre qui récupère la valeur de propriété. En Visual Basic, les propriétés sont représentées sous la forme d’un élément unique qui peut être utilisé pour récupérer ou définir la valeur de la propriété.