Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 |
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
COleVariantobjektumot, VT_EMPTY.COleVariant(varSrc) Meglévő vagy
VARIANTobjektum másolásaCOleVariant. A változattípus megmarad.COleVariant(pSrc) Meglévő vagy
VARIANTobjektum 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
CByteArrayaz új objektumba, VT_EMPTY.COleVariant(lbSrc) Átmásolja az objektumot
CLongBinaryaz ú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
COleVariantobjektumot 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
COleVariantobjektumba.operátor =(lbSrc)CLongBinary objektumot másol ebbe az
COleVariantobjektumba.
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
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.