Types autorisés

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation de l'éditeur de bibliothèques de types


Dans l'éditeur de bibliothèques de types, vous utilisez des identificateurs de types différents, selon que vous travaillez en IDL ou en Delphi. Spécifiez le langage que vous voulez utiliser dans la boîte de dialogue Options d'environnement.

Les types suivants sont autorisés dans une bibliothèque de types pour le développement COM. La colonne Compatible Automation spécifie si le type peut être utilisé par une interface dont l'indicateur Automation ou Dispinterface est activé. COM utilise automatiquement le marshalling pour les types suivants via la bibliothèque de types :

Type Delphi Type IDL Type variant Compatible Automation Description

Smallint

short

VT_I2

Oui

entier signé sur 2 octets

Integer

long

VT_I4

Oui

entier signé sur 4 octets

Unique

single

VT_R4

Oui

Réel sur 4 octets

Double

double

VT_R8

Oui

Réel sur 8 octets

Currency

CURRENCY

VT_CY

Oui

monétaire

TDateTime

DATE

VT_DATE

Oui

date

WideString

BSTR

VT_BSTR

Oui

chaîne binaire

IDispatch

IDispatch

VT_DISPATCH

Oui

pointeur sur une interface IDispatch

SCODE

SCODE

VT_ERROR

Oui

code d'erreur OLE

WordBool

VARIANT_BOOL

VT_BOOL

Oui

Vrai = -1, faux = 0

OleVariant

VARIANT

VT_VARIANT

Oui

Variant OLE

IUnknown

IUnknown

VT_UNKNOWN

Oui

Pointeur sur une interface IUnknown

Shortint

byte

VT_I1

Non

Entier signé sur 1 octets

Byte

unsigned char

VT_UI1

Oui

Entier non signé sur 1 octets

Word

unsigned short

VT_UI2

Oui*

Entier non signé sur 2 octets

LongWord

unsigned long

VT_UI4

Oui*

Entier non signé sur 4 octets

Int64

__int64

VT_I8

Non

Entier signé sur 8 octets

Largeuint

uint64

VT_UI8

Non

Entier non signé sur 8 octets

SYSINT

int

VT_INT

Oui*

Entier dépendant du système (Win32=Integer)

SYSUINT

unsigned int

VT_UINT

Oui*

Entier non signé dépendant du système

HResult

HRESULT

VT_HRESULT

Non

Code d'erreur 32 bits

Pointer

VT_PTR -> VT_VOID

Non

pointeur non typé

SafeArray

SAFEARRAY

VT_SAFEARRAY

Non

Tableau protégé OLE

PAnsiChar

LPSTR

VT_LPSTR

Non

Pointeur sur un Char

PChar

LPWSTR

VT_LPWSTR

Non

Pointeur sur un WideChar

PWideChar

LPWSTR

VT_LPWSTR

Non

Pointeur sur un WideChar



  • Word, LongWord, SYSINT et SYSUINT peuvent être compatibles Automation dans certaines applications.

Pour plus d'informations sur le type variant SAFEARRAY, voir Tableaux sécurisés.

Remarque :  Le type Byte (VT_UI1) est compatible avec l'Automation, mais il n'est pas autorisé dans un Variant ou un OleVariant car de nombreux serveurs Automation ne gèrent pas correctement cette valeur.

Outre ces types, toute interface ou type défini dans la bibliothèque ou dans les bibliothèques référencées peut s'utiliser dans une définition de bibliothèque de types.

L'éditeur de bibliothèques de types stocke les informations de type dans le fichier (.TLB) de bibliothèque de types générée sous forme binaire.

Si un paramètre est de type Pointer, l'éditeur de bibliothèques de types le convertit généralement en paramètre variable. Quand la bibliothèque de types est enregistrée, les indicateurs IDL des ElemDesc associés aux paramètres variable sont marqués IDL_FIN ou IDL_FOUT.

Souvent, les indicateurs IDL ElemDesc ne sont pas marqués par IDL_FIN ni par IDL_FOUT lorsque le type est précédé d'un pointeur. De même, s'il s'agit de dispinterfaces, les indicateurs IDL ne sont généralement pas utilisés. Dans ces situations, on peut voir à côté de l'identificateur de variable un commentaire comme {IDL_None} ou {IDL_In}. Ces commentaires sont utilisés lors de l'enregistrement d'une bibliothèque de types, pour marquer correctement les indicateurs IDL.