COleVariant, classe
Encapsule le type de données VARIANT .
Syntaxe
class COleVariant : public tagVARIANT
Membres
Constructeurs publics
Nom | Description |
---|---|
COleVariant ::COleVariant | Construit un objet COleVariant . |
Méthodes publiques
Nom | Description |
---|---|
COleVariant ::Attach | Attache un VARIANT à un COleVariant . |
COleVariant ::ChangeType | Modifie le type de variante de cet COleVariant objet. |
COleVariant ::Clear | Efface cet COleVariant objet. |
COleVariant ::D etach | Détache un VARIANT d’un COleVariant variant et retourne le VARIANT. |
COleVariant ::GetByteArrayFromVariantArray | Récupère un tableau d’octets à partir d’un tableau de variantes existant. |
COleVariant ::SetString | Définit la chaîne sur un type particulier, généralement ANSI. |
Opérateurs publics
Nom | Description |
---|---|
COleVariant ::operator LPCVARIANT | Convertit une COleVariant valeur en un LPCVARIANT . |
COleVariant ::operator LPVARIANT | Convertit un COleVariant objet en un LPVARIANT . |
COleVariant ::operator = | Copie une COleVariant valeur. |
COleVariant ::operator == | Compare deux COleVariant valeurs. |
COleVariant::operator << , COleVariant::operator >> |
Génère une COleVariant valeur vers CArchive ou CDumpContext entrée d’un COleVariant objet à partir de CArchive . |
Notes
Ce type de données est utilisé dans OLE Automation. Plus précisément, la structure DISPPARAMS contient un pointeur vers un tableau de structures VARIANT. Une DISPPARAMS
structure est utilisée pour passer des paramètres à IDispatch ::Invoke.
Remarque
Cette classe est dérivée de la VARIANT
structure. Cela signifie que vous pouvez transmettre un COleVariant
paramètre qui appelle un VARIANT
paramètre et que les membres de données de la VARIANT
structure sont des membres de données accessibles de COleVariant
.
Les deux classes MFC associées COleCurrency et COleDateTime encapsulent les types de données VARIANT CURRENCY ( VT_CY
) et DATE ( VT_DATE
). La COleVariant
classe est largement utilisée dans les classes DAO ; consultez ces classes pour une utilisation classique de cette classe, par exemple CDaoQueryDef et CDaoRecordset.
Pour plus d’informations, consultez les entrées VARIANT, CURRENCY, DISPPARAMS et IDispatch ::Invoke dans le Kit de développement logiciel (SDK) Windows.
Pour plus d’informations sur la COleVariant
classe et son utilisation dans OLE Automation, consultez « Passage de paramètres dans OLE Automation » dans l’article Automation.
Hiérarchie d'héritage
tagVARIANT
COleVariant
Spécifications
En-tête : afxdisp.h
COleVariant ::Attach
Appelez cette fonction pour attacher l’objet VARIANT donné à l’objet actuelCOleVariant
.
void Attach(VARIANT& varSrc);
Paramètres
varSrc
Objet existant VARIANT
à attacher à l’objet actuel COleVariant
.
Notes
Cette fonction définit le VARTYPE de varSrc sur VT_EMPTY.
Pour plus d’informations, consultez les entrées VARIANT et VARENUM dans le Kit de développement logiciel (SDK) Windows.
COleVariant ::COleVariant
Construit un objet COleVariant
.
COleVariant();
COleVariant(const VARIANT& varSrc);
COleVariant(const COleVariant& varSrc);
COleVariant(LPCVARIANT pSrc);
COleVariant(LPCTSTR lpszSrc);
COleVariant(LPCTSTR lpszSrc, VARTYPE vtSrc);
COleVariant(CString& strSrc);
COleVariant(BYTE nSrc);
COleVariant(short nSrc, VARTYPE vtSrc = VT_I2);
COleVariant(long lSrc,VARTYPE vtSrc = VT_I4);
COleVariant(const COleCurrency& curSrc);
COleVariant(float fltSrc);
COleVariant(double dblSrc);
COleVariant(const COleDateTime& timeSrc);
COleVariant(const CByteArray& arrSrc);
COleVariant(const CLongBinary& lbSrc);
COleVariant(LPCITEMIDLIST pidl);
Paramètres
varSrc
Objet ou VARIANT
existant COleVariant
à copier dans le nouvel COleVariant
objet.
pSrc
Pointeur vers un VARIANT
objet qui sera copié dans le nouvel COleVariant
objet.
lpszSrc
Chaîne terminée par null à copier dans le nouvel COleVariant
objet.
vtSrc
Pour VARTYPE
le nouvel COleVariant
objet.
strSrc
Objet CString à copier dans le nouvel COleVariant
objet.
nSrc, lSrc A valeur numérique à copier dans le nouvel COleVariant
objet.
vtSrc
Pour VARTYPE
le nouvel COleVariant
objet.
curSrc
Objet COleCurrency à copier dans le nouvel COleVariant
objet.
fltSrc, dblSrc
Valeur numérique à copier dans le nouvel objet COleVariant
.
timeSrc
Objet COleDateTime à copier dans le nouvel COleVariant
objet.
arrSrc
Objet CByteArray à copier dans le nouvel COleVariant
objet.
lbSrc
Objet CLongBinary à copier dans le nouvel COleVariant
objet.
pidl
Pointeur vers une structure ITEMIDLIST à copier dans le nouvel COleVariant
objet.
Notes
Tous ces constructeurs créent de nouveaux COleVariant
objets initialisés à la valeur spécifiée. Une brève description de chacun de ces constructeurs suit.
COleVariant( ) Crée un objet vide
COleVariant
, VT_EMPTY.COleVariant( varSrc ) Copie un objet ou
COleVariant
un objet existantVARIANT
. Le type variant est conservé.COleVariant( pSrc ) Copie un objet ou
COleVariant
un objet existantVARIANT
. Le type variant est conservé.COleVariant( lpszSrc ) Copie une chaîne dans le nouvel objet, VT_BSTR (UNICODE).
COleVariant( lpszSrc , vtSrc ) Copie une chaîne dans le nouvel objet. Le paramètre vtSrc doit être VT_BSTR (UNICODE) ou VT_BSTRT (ANSI).
COleVariant( strSrc ) Copie une chaîne dans le nouvel objet, VT_BSTR (UNICODE).
COleVariant( nSrc ) Copie un entier 8 bits dans le nouvel objet, VT_UI1.
COleVariant( nSrc , vtSrc ) Copie un entier 16 bits (ou valeur booléenne) dans le nouvel objet. Le paramètre vtSrc doit être VT_I2 ou VT_BOOL.
COleVariant( lSrc , vtSrc ) Copie un entier 32 bits (ou une valeur SCODE) dans le nouvel objet. Le paramètre vtSrc doit être VT_I4, VT_ERROR ou VT_BOOL.
COleVariant( curSrc ) Copie une
COleCurrency
valeur dans le nouvel objet, VT_CY.COleVariant( fltSrc ) Copie une valeur à virgule flottante 32 bits dans le nouvel objet, VT_R4.
COleVariant( dblSrc ) Copie une valeur à virgule flottante 64 bits dans le nouvel objet, VT_R8.
COleVariant( timeSrc ) Copie une
COleDateTime
valeur dans le nouvel objet, VT_DATE.COleVariant( arrSrc) Copie un
CByteArray
objet dans le nouvel objet, VT_EMPTY.COleVariant( lbSrc ) Copie un
CLongBinary
objet dans le nouvel objet, VT_EMPTY.
Pour plus d’informations sur SCODE, consultez Structure des codes d’erreur COM dans le Kit de développement logiciel (SDK) Windows.
COleVariant ::ChangeType
Convertit le type de valeur de variante dans cet COleVariant
objet.
void ChangeType(VARTYPE vartype, LPVARIANT pSrc = NULL);
Paramètres
vartype
VARTYPE pour cet COleVariant
objet.
pSrc
Pointeur vers l’objet VARIANT à convertir. Si cette valeur est NULL, cet COleVariant
objet est utilisé comme source de la conversion.
Notes
Pour plus d’informations, consultez les entrées VARIANT, VARENUM et VariantChangeType dans le Kit de développement logiciel (SDK) Windows.
COleVariant ::Clear
Efface le VARIANT
.
void Clear();
Notes
Cela définit le VARTYPE de cet objet sur VT_EMPTY. Le COleVariant
destructeur appelle cette fonction.
Pour plus d’informations, consultez les VARIANT
entrées, VARTYPE et VariantClear
VARTYPE dans le Kit de développement logiciel (SDK) Windows.
COleVariant ::D etach
Détache l’objet VARIANT sous-jacent de cet COleVariant
objet.
VARIANT Detach();
Notes
Cette fonction définit le VARTYPE de cet COleVariant
objet sur VT_EMPTY.
Remarque
Après l’appel Detach
, il incombe à l’appelant d’appeler VariantClear
la structure résultante VARIANT
.
Pour plus d’informations, consultez les entrées VARIANT, VARENUM et VariantClear dans le Kit de développement logiciel (SDK) Windows.
COleVariant ::GetByteArrayFromVariantArray
Récupère un tableau d’octets à partir d’un tableau de variantes existant
void GetByteArrayFromVariantArray(CByteArray& bytes);
Paramètres
bytes
Référence à un objet CByteArray existant.
COleVariant ::operator LPCVARIANT
Cet opérateur de cast retourne une VARIANT
structure dont la valeur est copiée à partir de cet COleVariant
objet.
operator LPCVARIANT() const;
Notes
COleVariant ::operator LPVARIANT
Appelez cet opérateur de cast pour accéder à la structure sous-jacente VARIANT
de cet COleVariant
objet.
operator LPVARIANT();
Notes
Attention
La modification de la valeur dans la VARIANT
structure accessible par le pointeur retourné par cette fonction modifie la valeur de cet COleVariant
objet.
COleVariant ::operator =
Ces opérateurs d’affectation surchargés copient la valeur source dans cet COleVariant
objet.
const COleVariant& operator=(const VARIANT& varSrc);
const COleVariant& operator=(LPCVARIANT pSrc);
const COleVariant& operator=(const COleVariant& varSrc);
const COleVariant& operator=(const LPCTSTR lpszSrc);
const COleVariant& operator=(const CString& strSrc);
const COleVariant& operator=(BYTE nSrc);
const COleVariant& operator=(short nSrc);
const COleVariant& operator=(long lSrc);
const COleVariant& operator=(const COleCurrency& curSrc);
const COleVariant& operator=(float fltSrc);
const COleVariant& operator=(double dblSrc);
const COleVariant& operator=(const COleDateTime& dateSrc);
const COleVariant& operator=(const CByteArray& arrSrc);
const COleVariant& operator=(const CLongBinary& lbSrc);
Notes
Une brève description de chaque opérateur suit :
operator =( varSrc ) Copie un VARIANT ou
COleVariant
un objet existant dans cet objet.operator =( pSrc ) Copie l’objet VARIANT accessible par pSrc dans cet objet.
operator =( lpszSrc ) Copie une chaîne terminée par null dans cet objet et définit le VARTYPE sur VT_BSTR.
operator =( strSrc ) Copie un objet CString dans cet objet et définit le VARTYPE sur VT_BSTR.
operator =( nSrc ) Copie une valeur entière 8 ou 16 bits dans cet objet. Si nSrc est une valeur 8 bits, le VARTYPE de ce paramètre est défini sur VT_UI1. Si nSrc est une valeur 16 bits et que le VARTYPE de ce paramètre est VT_BOOL, il est conservé ; sinon, il est défini sur VT_I2.
operator =( lSrc ) Copie une valeur entière 32 bits dans cet objet. Si le VARTYPE de ce paramètre est VT_ERROR, il est conservé ; sinon, elle est définie sur VT_I4.
operator =( curSrc ) Copie un objet COleCurrency dans cet objet et définit le VARTYPE sur VT_CY.
operator =( fltSrc ) Copie une valeur à virgule flottante 32 bits dans cet objet et définit le VARTYPE sur VT_R4.
operator =( dblSrc ) Copie une valeur à virgule flottante 64 bits dans cet objet et définit le VARTYPE sur VT_R8.
operator =( dateSrc ) Copie un objet COleDateTime dans cet objet et définit le VARTYPE sur VT_DATE.
operator =( arrSrc ) Copie un objet CByteArray dans cet
COleVariant
objet.operator =( lbSrc ) Copie un objet CLongBinary dans cet
COleVariant
objet.
Pour plus d’informations, consultez les entrées VARIANT et VARENUM dans le Kit de développement logiciel (SDK) Windows.
COleVariant ::operator ==
Cet opérateur compare deux valeurs de variantes et retourne une valeur différente de zéro si elles sont égales ; sinon 0.
BOOL operator==(const VARIANT& varSrc) const;
BOOL operator==(LPCVARIANT pSrc) const;
COleVariant::operator <<
, COleVariant::operator >>
Génère une COleVariant
valeur vers CArchive
ou CdumpContext
entrée d’un COleVariant
objet à partir de CArchive
.
friend CDumpContext& AFXAPI operator<<(
CDumpContext& dc,
OleVariant varSrc);
friend CArchive& AFXAPI operator<<(
CArchive& ar,
COleVariant varSrc);
friend CArchive& AFXAPI operator>>(
CArchive& ar,
COleVariant& varSrc);
Notes
L’opérateur d’insertion (<<) prend en charge le COleVariant
dumping de diagnostic et le stockage dans une archive. L’opérateur d’extraction (>>) prend en charge le chargement à partir d’une archive.
COleVariant ::SetString
Définit la chaîne sur un type particulier.
void SetString(LPCTSTR lpszSrc, VARTYPE vtSrc);
Paramètres
lpszSrc
Chaîne terminée par null à copier dans le nouvel COleVariant
objet.
VtSrc
VARTYPE pour le nouvel COleVariant
objet.
Notes
Le paramètre vtSrc doit être VT_BSTR (UNICODE) ou VT_BSTRT (ANSI). SetString
est généralement utilisé pour définir des chaînes sur ANSI, car la valeur par défaut du constructeur COleVariant ::COleVariant avec un paramètre de pointeur de chaîne ou de chaîne et aucun VARTYPE n’est UNICODE.
Un jeu d’enregistrements DAO dans une build non-UNICODE s’attend à ce que les chaînes soient ANSI. Par conséquent, pour les fonctions DAO qui utilisent COleVariant
des objets, si vous ne créez pas un jeu d’enregistrements UNICODE, vous devez utiliser la forme COleVariant ::COleVariant( lpszSrc , vtSrc ) de constructeur avec vtSrc défini sur VT_BSTRT (ANSI) ou utiliser SetString
avec vtSrc défini sur VT_BSTRT pour créer des chaînes ANSI. Par exemple, les CDaoRecordset
fonctions CDaoRecordset ::Seek et CDaoRecordset ::SetFieldValue utilisent COleVariant
des objets comme paramètres. Ces objets doivent être ANSI si le jeu d’enregistrements DAO n’est pas UNICODE.