Téléchargement des produits


Version anglaise


 

Les types OLE Automation ci-dessous sont pris en compte par l'assistant Intégrateur de contrôles ActiveX.

Ce tableau fournit les intervalles de valeurs en fonction des différents types OLE Automation et Adélia. Il permet donc de fixer les correspondances établies sur la deuxième page de l'assistant, et surtout de les ajuster au cas par cas dans les pages suivantes, en fonction de la connaissance de l'ActiveX que possède l'utilisateur. Lorsque plusieurs choix sont possibles pour les types numériques, il n'est pas toujours possible d'avoir une correspondance identique au niveau des intervalles de valeurs.

 

Type OLE Automation

Description

Intervalle de valeurs

Types Adélia correspondants

Intervalle de valeurs

et remarques

BSTR

Chaîne de caractères Automation (un caractère est codé sur 2 octets).

 

ALPHA(n)

 

DATE

Contient une date et/ou une heure,

mais sans les fractions de seconde.

 

TIMESTAMP

DATE

TIME

Les fractions de seconde contenues dans une variable TIMESTAMP sont perdues dans une variable DATE OLE Automation.

float

Nombre réel à virgule flottante sur 4 octets.

Valeurs négatives :

-3.402823 x 10e38 à -1.401298 x 10e-45

Valeurs positives :

1.401298 x 10e-45 à 3.402823 x 10e38

NUM_E(lg,dec)

NUM_P(lg,dec)

NUM_BIN_4

Dépend de lg et de dec.

 

Le type NUM_BIN_4 est intéressant dans le cas où la variable ne contient que des valeurs entières.

double

Nombre réel à virgule flottante sur 8 octets.

Valeurs négatives :

-1.79769313486232 x 10e308

à -4.94065645841247 x 10e-324

Valeurs positives :

4.94065645841247 x 10e-324

à 1.79769313486232 x 10e308

NUM_E(lg,dec)

NUM_P(lg,dec)

Dépend de lg et de dec.

CURRENCY

Devise (nombre réel à virgule fixe comportant 15 positions entières et 4 positions décimales).

-922 337 203 685 477,5808 à 922 337 203 685 477,5807

NUM_E(lg,dec)

NUM_P(lg,dec)

Avec lg = 15 et dec = 4, l'intervalle est :

-9 999 999 999,9999

à 9 999 999 999,9999

unsigned char

Caractère non signé (1 octet).

0 à 255

ALPHA(1)

 

 

NUM_BIN_2

Le code ANSI du caractère va de 0 à 255.

 

–32 768 à 32 767

char

Caractère signé (1 octet).

–128 à 127

NUM_BIN_2

 

ALPHA(1) 

–32 768 à 32 767

 

En pratique, le type char contient la plupart du temps une valeur positive, donc est utilisé en tant que caractère.

unsigned short

Entier court non signé (2 octets).

0 à 65 535

NUM_BIN_4

NUM_BIN_2

–2 147 483 648 à 2 147 483 647

–32 768 à 32 767

 

Le type NUM_BIN_2 suffit dans le cas où la variable ne contient que des valeurs positives.

short

Entier court signé (2 octets).

–32 768 à 32 767

NUM_BIN_2 

Même intervalle que le type OLE Automation.

unsigned int

Entier machine non signé (4 octets).

0 à 4 294 967 295

NUM_E(lg,dec)

NUM_P(lg,dec)

NUM_BIN_4

Avec lg = 10 et dec = 0

L'intervalle est 0 à 9 999 999 999.

 

Le type NUM_BIN_4 suffit dans le cas où la variable ne contient que des valeurs positives.

int

Entier machine signé (4 octets).

–2 147 483 648 à 2 147 483 647

NUM_BIN_4

Même intervalle que le type OLE Automation.

unsigned long

Entier long non signé (4 octets).

0 à 4 294 967 295

NUM_E(lg,dec)

NUM_P(lg,dec)

NUM_BIN_4

Avec lg = 10 et dec = 0

L'intervalle est 0 à 9 999 999 999.

 

Le type NUM_BIN_4 suffit dans le cas où la variable ne contient que des valeurs positives.

long

Entier long signé (4 octets).

–2 147 483 648 à 2 147 483 647

NUM_BIN_4

Même intervalle que le type OLE Automation.

HRESULT

Code résultat.

–2 147 483 648 à 2 147 483 647

NUM_BIN_4

Même intervalle que le type OLE Automation.

__int64

Entier sur 64 bits signé (8 octets).

–9223372036854775808 à 9223372036854775807

NUM_BIN_8

Même intervalle que le type OLE Automation.

unsigned __int64

Entier sur 64 bits non signé (8 octets).

0 à 18446744073709551615

NUM_BIN_8

Le type NUM_BIN_8 ne permet pas de gérer correctement les valeurs supérieures à 9223372036854775807.

SCODE

Code statut.

–2 147 483 648 à 2 147 483 647

NUM_BIN_4

Même intervalle que le type OLE Automation.

VARIANT_BOOL

Booléen OLE Automation.

 

BOOL

Mêmes notions de vrai et faux.

VARIANT

Structure qui peut contenir un certain nombre de types simples ou de pointeurs, et l'information indiquant le type contenu.

 

Un type Adélia quelconque (variable ou liste) et une constante fixant le type du VARIANT

Un type interne au langage Visual Adélia et similaire au type VARIANT est utilisé.

 

(Voir la gestion du type VARIANT ci-dessous.)

IDispatch*

Pointeur sur une interface IDispatch .

 

POINTEUR *IDISPATCH

 

IUnknown*

Pointeur sur une interface IUnknown .

 

POINTEUR *IUNKNOWN

 

 

 

Cas particulier : la gestion du type VARIANT et les constantes associées

Le type VARIANT OLE Automation peut se décrire approximativement comme une structure, c'est-à-dire un regroupement de différents types vu comme un nouveau type de variable. Cette structure peut contenir l'ensemble des types ci-dessus, un pointeur (adresse mémoire) sur l'un de ces types ou sur un tableau, et contient aussi l'information indiquant quel est le type effectivement contenu pour une variable donnée de type VARIANT.

 

Lors de l'intégration, une propriété de type VARIANT sera gérée sous forme d'une méthode de lecture, et d'une méthode d'écriture si la propriété n'est pas en lecture seule. Un paramètre de méthode ou d'événement de type VARIANT est géré en Adélia à travers deux paramètres. Le premier paramètre est une variable Adélia d'un type quelconque ou une liste non composée (c'est-à-dire définie par une seule variable Adélia), et le deuxième paramètre est le type du variant OLE.

 

Dans le cas d'un variant paramètre d'entrée de méthode, c'est-à-dire lorsque le programme Visual Adélia fournit le variant à l'ActiveX, ce deuxième paramètre sera utile pour créer un variant avec un type précis et dont la valeur sera celle de la variable Adélia, après une conversion éventuelle en fonction du type de variant souhaité.

Dans le cas d'un variant paramètre de sortie uniquement, c'est-à-dire lorsque l'ActiveX fournit un variant au programme Visual Adélia, ce deuxième paramètre permettra d'indiquer que le variant n'est qu'en sortie, et de savoir quel type contient précisément ce variant. De plus, cela permettra éventuellement, lors de la mise au point, d'utiliser une variable Adélia d'un type mieux adapté au contenu du variant, puisque ce contenu est éventuellement converti pour obéir au type de la variable Adélia.

Le cas d'un variant en entrée/sortie regroupe les cas précédents.

 

Les valeurs du paramètre indiquant le type du variant sont celles de la liste ci-dessous. Ces constantes sont générées systématiquement en tant que constantes de l'objet graphique lorsqu'il contient un paramètre de type variant.

 

Nom de la constante

Valeur

Type OLE Automation contenu dans le variant

Remarque

__VT_EMPTY

0

 

Valeur à utiliser pour un variant en sortie.

__VT_NULL

1

 

Ne pas utiliser, cette valeur peut être rendue par un variant en sortie.

__VT_I2

2

short

 

__VT_I4

3

long

 

__VT_R4

4

float

 

__VT_R8

5

double

 

__VT_CY

6

CURRENCY

 

__VT_DATE

7

DATE

 

__VT_BSTR

8

BSTR

 

__VT_DISPATCH

9

IDispatch*

 

__VT_ERROR

10

SCODE

 

__VT_BOOL

11

VARIANT_BOOL

 

__VT_VARIANT

12

VARIANT*

Ne pas utiliser, cette valeur peut être rendue par un variant en sortie.

__VT_UNKNOWN

13

IUnknown*

 

 

 

 

 

__VT_I1

16

char

 

__VT_UI1

17

unsigned char

 

__VT_UI2

18

unsigned short

 

__VT_UI4

19

unsigned long

 

__VT_I8

20

__int64

 

__VT_UI8

21

unsigned __int64

 

__VT_INT

22

int

 

__VT_UINT

23

unsigned int

 

 

 

 

 

__VT_ARRAY

8192

Le variant contient un tableau d'un des types ci-dessus.

Valeur qui doit être ajoutée à celle du type concerné.

__VT_BYREF

16384

Le variant contient l'adresse d'un des types ci-dessus.

Ne pas utiliser, cette valeur peut être rendue par un variant en sortie.

 

Par exemple, lorsque l'utilisateur veut passer en paramètre un variant contenant un tableau d'entiers longs, il doit passer comme premier paramètre une variable Adélia de type liste de NUM_BIN_4, et comme second paramètre la somme (__VT_ARRAY + __VT_I4).

 

Retour au choix du contrôle ActiveX à intégrer.

 

↑ Haut de page