Megosztás a következőn keresztül:


COleVariant osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

A VARIANT adattípus beágyazása.

Szemantika

class COleVariant : public tagVARIANT

Tagok

Nyilvános konstruktorok

Név Leírás
COleVariant::COleVariant Egy COleVariant objektumot hoz létre.

Nyilvános metódusok

Név Leírás
COleVariant::Attach EGY VARIANT-t csatol egy COleVariant.
COleVariant::ChangeType Módosítja az objektum variánstípusát COleVariant .
COleVariant::Clear Törli az COleVariant objektumot.
COleVariant::D etach Leválaszt egy VARIANT-t az a-ról COleVariant , és visszaadja a VARIANT-t.
COleVariant::GetByteArrayFromVariantArray Egy bájttömb lekérése egy meglévő változattömbből.
COleVariant::SetString A sztringet egy adott típusra állítja, jellemzően ANSI-ra.

Nyilvános operátorok

Név Leírás
COleVariant::operátor LPCVARIANT Érték COleVariantkonvertálása LPCVARIANT .
COleVariant::operátor LPVARIANT Objektumot COleVariant konvertál .LPVARIANT
COleVariant::operátor = Egy érték másolása COleVariant .
COleVariant::operátor == Két COleVariant értéket hasonlít össze.
COleVariant::operator <<, COleVariant::operator >> Értéket ad ki egy objektumnak, vagy beírja a következőből: .>

Megjegyzések

Ezt az adattípust az OLE automatizálása használja. A DISPPARAMS-struktúra egy VARIANT-struktúrák tömbjének mutatóját tartalmazza. A DISPPARAMS rendszer egy struktúra segítségével adja át a paramétereket az IDispatch::Invoke fájlnak.

Megjegyzés:

Ez az osztály a VARIANT szerkezetből származik. Ez azt jelenti, hogy egy olyan paramétert adhat átCOleVariant, amely egy adott paramétert VARIANT hív meg, és hogy a VARIANT struktúra adattagjainak akadálymentes adattagja.COleVariant

A két kapcsolódó MFC-osztály, a COleCurrency és a COleDateTime beágyazza a PÉNZNEM () és a DATE (VT_CYVT_DATE) variáns adattípusokat. Az COleVariant osztályt széles körben használják a DAO-osztályokban. Ezeket az osztályokat az osztály általános használatára vonatkozóan tekinti meg, például a CDaoQueryDef és a CDaoRecordset osztályt.

További információ: VARIANT, CURRENCY, DISPPARAMS és IDispatch::Invoke entries in the Windows SDK.

Az osztályról és az COleVariant OLE-automatizálásban való használatáról az Automation című cikk "Paraméterek átadása az OLE Automationben" című szakaszában talál további információt.

Öröklési hierarchia

tagVARIANT

COleVariant

Követelmények

Fejléc: afxdisp.h

COleVariant::Attach

A függvény meghívásával csatolja a megadott VARIANT objektumot az aktuális COleVariant objektumhoz.

void Attach(VARIANT& varSrc);

Paraméterek

varSrc
Az aktuális VARIANT objektumhoz csatolandó meglévő COleVariant objektum.

Megjegyzések

Ez a függvény a varSrc VARTYPE értékét VT_EMPTY értékre állítja.

További információ: VARIANT és VARENUM bejegyzések a Windows SDK-ban.

COleVariant::COleVariant

Egy COleVariant objektumot hoz létre.

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éterek

varSrc
Az új COleVariant objektumba másolandó meglévő VARIANT vagy COleVariant objektum.

pSrc
Az új VARIANT objektumba másolandó objektumra mutató mutatóCOleVariant.

lpszSrc
Az új COleVariant objektumba másolandó null értékű sztring.

vtSrc
Az VARTYPE új COleVariant objektumhoz.

strSrc
Az új objektumba másolandó COleVariant.

nSrc, lSrc Az új COleVariant objektumba másolandó numerikus érték.

vtSrc
Az VARTYPE új COleVariant objektumhoz.

curSrc
Az új objektumba másolandó COleVariant objektum.

fltSrc, dblSrc
Az új COleVariant objektumba másolandó numerikus érték.

timeSrc
Az új objektumba másolandó COleVariant.

arrSrc
Az új objektumba másolandó COleVariant objektum.

lbSrc
Az új objektumba másolandó COleVariant objektum.

pidl
Az új objektumba másolandó COleVariant mutatója.

Megjegyzések

Ezek a konstruktorok a megadott értékre inicializált új COleVariant objektumokat hoznak létre. Ezeket a konstruktorokat rövid leírás követi.

  • COleVariant( ) Létrehoz egy üres COleVariant objektumot, VT_EMPTY.

  • COleVariant(varSrc) Meglévő vagy VARIANT objektum másolásaCOleVariant. A változattípus megmarad.

  • COleVariant(pSrc) Meglévő vagy VARIANT objektum másolásaCOleVariant. A változattípus megmarad.

  • COleVariant(lpszSrc) Sztringet másol az új objektumba, VT_BSTR (UNICODE).

  • COleVariant(lpszSrc;vtSrc) Sztringet másol az új objektumba. A vtSrc paraméternek VT_BSTR (UNICODE) vagy VT_BSTRT (ANSI) kell lennie.

  • COleVariant(strSrc) Sztringet másol az új objektumba, VT_BSTR (UNICODE).

  • COleVariant(nSrc) Egy 8 bites egész számot másol az új objektumba, VT_UI1.

  • COleVariant(nSrc;vtSrc) Egy 16 bites egész számot (vagy logikai értéket) másol az új objektumba. A vtSrc paraméternek VT_I2 vagy VT_BOOL kell lennie.

  • COleVariant(lSrc;vtSrc) 32 bites egész számot (vagy SCODE-értéket) másol az új objektumba. A vtSrc paraméternek VT_I4, VT_ERROR vagy VT_BOOL kell lennie.

  • COleVariant(curSrc) Átmásolja az COleCurrency értéket az új objektumba, VT_CY.

  • COleVariant(fltSrc) 32 bites lebegőpontos értéket másol az új objektumba, VT_R4.

  • COleVariant(dblSrc) 64 bites lebegőpontos értéket másol az új objektumba, VT_R8.

  • COleVariant(timeSrc) Átmásolja az COleDateTime értéket az új objektumba, VT_DATE.

  • COleVariant(arrSrc) Átmásolja az objektumot CByteArray az új objektumba, VT_EMPTY.

  • COleVariant(lbSrc) Átmásolja az objektumot CLongBinary az új objektumba, VT_EMPTY.

További információ az SCODE-ról: COM-hibakódok struktúrája a Windows SDK-ban.

COleVariant::ChangeType

Átalakítja az objektumban lévő COleVariant variánsérték típusát.

void ChangeType(VARTYPE vartype, LPVARIANT pSrc = NULL);

Paraméterek

vartype
Az objektum VARTYPE tulajdonsága COleVariant .

pSrc
A konvertálni kívánt VARIANT objektumra mutató mutató. Ha ez az érték NULL, a rendszer ezt COleVariant az objektumot használja az átalakítás forrásaként.

Megjegyzések

További információt a Windows SDK VARIANT, VARENUM és VariantChangeType bejegyzéseiben talál.

COleVariant::Clear

Törli a VARIANT.

void Clear();

Megjegyzések

Ezzel az objektum VARTYPE-fájlját VT_EMPTY értékre állítja. A COleVariant destruktor ezt a függvényt hívja meg.

További információkért lásd a VARIANTWindows SDK,VARTYPE és VariantClear bejegyzéseit.

COleVariant::D etach

Leválasztja a mögöttes VARIANT objektumot erről az COleVariant objektumról.

VARIANT Detach();

Megjegyzések

Ez a függvény az objektum VARTYPE értékét COleVariant VT_EMPTY értékre állítja.

Megjegyzés:

A hívás Detachután a hívó feladata az eredményként kapott VariantClear struktúra meghívásaVARIANT.

További információ: VARIANT, VARENUM és VariantClear bejegyzések a Windows SDK-ban.

COleVariant::GetByteArrayFromVariantArray

Bájttömb lekérése meglévő variánstömbből

void GetByteArrayFromVariantArray(CByteArray& bytes);

Paraméterek

bájtok
Hivatkozás egy meglévő CByteArray objektumra .

COleVariant::operátor LPCVARIANT

Ez az öntési operátor egy olyan struktúrát VARIANT ad vissza, amelynek az értéke ebből az COleVariant objektumból lesz másolva.

operator LPCVARIANT() const;

Megjegyzések

COleVariant::operátor LPVARIANT

Hívja meg ezt az öntvénykezelőt az objektum mögöttes VARIANT struktúrájának COleVariant eléréséhez.

operator LPVARIANT();

Megjegyzések

Figyelmeztetés

A függvény által visszaadott mutató által elért szerkezet értékének VARIANT módosítása megváltoztatja az COleVariant objektum értékét.

COleVariant::operátor =

Ezek a túlterhelt hozzárendelés-operátorok a forrásértéket ebbe az COleVariant objektumba másolja.

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);

Megjegyzések

Az egyes operátorok rövid leírása a következő:

  • operátor =(varSrc) Egy meglévő VARIANT-t vagy COleVariant objektumot másol ebbe az objektumba.

  • operátor =(pSrc) Másolja a pSrc által elért VARIANT objektumot ebbe az objektumba.

  • operátor =(lpszSrc) Egy null értékű sztringet másol ebbe az objektumba, és a VARTYPE értékét VT_BSTR értékre állítja.

  • operátor =(strSrc) Másolja a CString objektumot ebbe az objektumba, és a VARTYPE értékét VT_BSTR értékre állítja.

  • operátor =(nSrc) 8 vagy 16 bites egész számot másol ebbe az objektumba. Ha az nSrc egy 8 bites érték, ennek VARTYPE értéke VT_UI1. Ha az nSrc egy 16 bites érték, és ennek VARTYPE értéke VT_BOOL, akkor megmarad; ellenkező esetben VT_I2 értékre van állítva.

  • operátor =(lSrc) 32 bites egész számértéket másol ebbe az objektumba. Ha ennek vartípusa VT_ERROR, akkor megmarad; ellenkező esetben VT_I4.

  • operátor =(curSrc) Másolja a COleCurrency objektumot ebbe az objektumba, és a VARTYPE értékét VT_CY értékre állítja.

  • operátor =(fltSrc) 32 bites lebegőpontos értéket másol ebbe az objektumba, és beállítja a VARTYPE értékét VT_R4.

  • operátor =(dblSrc) 64 bites lebegőpontos értéket másol ebbe az objektumba, és a VARTYPE értékét VT_R8 értékre állítja.

  • operátor =(dateSrc) Másolja a COleDateTime objektumot ebbe az objektumba, és a VARTYPE értékét VT_DATE értékre állítja.

  • operátor =(arrSrc)CByteArray objektumot másol ebbe az COleVariant objektumba.

  • operátor =(lbSrc)CLongBinary objektumot másol ebbe az COleVariant objektumba.

További információ: VARIANT és VARENUM bejegyzések a Windows SDK-ban.

COleVariant::operátor ==

Ez az operátor két variánsértéket hasonlít össze, és nem aero értéket ad vissza, ha egyenlőek; egyéb esetben 0.

BOOL operator==(const VARIANT& varSrc) const;
BOOL operator==(LPCVARIANT pSrc) const;

COleVariant::operator <<, COleVariant::operator >>

Értéket ad ki egy objektumnak, vagy beírja a következőből: .>

friend CDumpContext& AFXAPI operator<<(
    CDumpContext& dc,
    OleVariant varSrc);

friend CArchive& AFXAPI operator<<(
    CArchive& ar,
    COleVariant varSrc);

friend CArchive& AFXAPI operator>>(
    CArchive& ar,
    COleVariant& varSrc);

Megjegyzések

A COleVariant beszúrási (<<) operátor támogatja a diagnosztikai memóriaképezést és az archívumba való tárolást. A kinyerési (>>) operátor támogatja az archívumból való betöltést.

COleVariant::SetString

A sztringet egy adott típusra állítja be.

void SetString(LPCTSTR lpszSrc, VARTYPE vtSrc);

Paraméterek

lpszSrc
Az új COleVariant objektumba másolandó null értékű sztring.

VtSrc
Az új COleVariant objektum VARTYPE tulajdonsága.

Megjegyzések

A vtSrc paraméternek VT_BSTR (UNICODE) vagy VT_BSTRT (ANSI) kell lennie. SetString Általában a sztringek ANSI-be való beállítására szolgál, mivel a COleVariant::COleVariant konstruktor alapértelmezett értéke egy sztring vagy sztringmutató paraméterrel, és a VARTYPE nem UNICODE.

A NEM UNICODE-buildekben lévő DAO-rekordhalmazok a sztringek ANSI-t várnak. Így az objektumokat használó COleVariant DAO-függvények esetében, ha nem UNICODE-rekordhalmazt hoz létre, a COleVariant::COleVariant(lpszSrc,vtSrc) konstruktorformát kell használnia VT_BSTRT (ANSI) értékre állított vtSrc-sel, vagy az ANSI-sztringek létrehozásához a SetString VT_BSTRT kell használnia. A CDaoRecordset és a CDaoRecordset::SetFieldValue függvény például objektumokat használ COleVariant paraméterekként. Ezeknek az objektumoknak ANSI-nek kell lenniük, ha a DAO-rekordhalmaz nem UNICODE.

Lásd még

hierarchiadiagram