Dela via


COleVariant-klass

Kapslar in datatypen VARIANT .

Syntax

class COleVariant : public tagVARIANT

Medlemmar

Offentliga konstruktorer

Namn Beskrivning
COleVariant::COleVariant Konstruerar ett COleVariant objekt.

Offentliga metoder

Namn Beskrivning
COleVariant::Attach Kopplar en VARIANT till en COleVariant.
COleVariant::ChangeType Ändrar varianttypen för det här COleVariant objektet.
COleVariant::Clear Rensar det här COleVariant objektet.
COleVariant::D etach Kopplar bort en VARIANT från en COleVariant och returnerar VARIANT.
COleVariant::GetByteArrayFromVariantArray Hämtar en bytematris från en befintlig variantmatris.
COleVariant::SetString Anger strängen till en viss typ, vanligtvis ANSI.

Offentliga operatörer

Namn Beskrivning
COleVariant::operator LPCVARIANT Konverterar ett COleVariant värde till en LPCVARIANT.
COleVariant::operator LPVARIANT Konverterar ett COleVariant objekt till en LPVARIANT.
COleVariant::operator = Kopierar ett COleVariant värde.
COleVariant::operator == Jämför två COleVariant värden.
COleVariant::operator <<, COleVariant::operator >> Matar ut ett COleVariant värde till CArchive eller CDumpContext och matar in ett COleVariant objekt från CArchive.

Anmärkningar

Den här datatypen används i OLE-automatisering. Mer specifikt innehåller DISPPARAMS-strukturen en pekare till en matris med VARIANT-strukturer. En DISPPARAMS struktur används för att skicka parametrar till IDispatch::Invoke.

Anmärkning

Den här klassen härleds från VARIANT strukturen. Det innebär att du kan skicka en COleVariant i en parameter som anropar för en VARIANT och att datamedlemmarna i VARIANT strukturen är tillgängliga datamedlemmar COleVarianti .

De två relaterade MFC-klasserna COleCurrency och COleDateTime kapslar in variantdatatyperna CURRENCY (VT_CY) och DATE (VT_DATE). Klassen COleVariant används i stor utsträckning i DAO-klasserna. Se dessa klasser för typisk användning av den här klassen, till exempel CDaoQueryDef och CDaoRecordset.

Mer information finns i poster för VARIANT, VALUTA, DISPPARAMS och IDispatch::Invoke i Windows SDK.

Mer information om COleVariant klassen och dess användning i OLE-automatisering finns i "Skicka parametrar i OLE Automation" i artikeln Automation.

Arvshierarki

tagVARIANT

COleVariant

Kravspecifikation

Rubrik: afxdisp.h

COleVariant::Attach

Anropa den här funktionen för att koppla det angivna VARIANT-objektet till det aktuella COleVariant objektet.

void Attach(VARIANT& varSrc);

Parameterar

varSrc
Ett befintligt VARIANT objekt som ska kopplas till det aktuella COleVariant objektet.

Anmärkningar

Den här funktionen anger VARTYPE för varSrc till VT_EMPTY.

Mer information finns i poster för VARIANT och VARENUM i Windows SDK.

COleVariant::COleVariant

Konstruerar ett COleVariant objekt.

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

Parameterar

varSrc
Ett befintligt COleVariant objekt eller VARIANT ett objekt som ska kopieras till det nya COleVariant objektet.

pSrc
En pekare till ett VARIANT objekt som ska kopieras till det nya COleVariant objektet.

lpszSrc
En null-avslutad sträng som ska kopieras till det nya COleVariant objektet.

vtSrc
För VARTYPE det nya COleVariant objektet.

strSrc
Ett CString-objekt som ska kopieras till det nya COleVariant objektet.

nSrc, lSrc Ett numeriskt värde som ska kopieras till det nya COleVariant objektet.

vtSrc
För VARTYPE det nya COleVariant objektet.

curSrc
Ett COleCurrency-objekt som ska kopieras till det nya COleVariant objektet.

fltSrc, dblSrc
Ett numeriskt värde som ska kopieras till det nya COleVariant objektet.

timeSrc
Ett COleDateTime-objekt som ska kopieras till det nya COleVariant objektet.

arrSrc
Ett CByteArray-objekt som ska kopieras till det nya COleVariant objektet.

lbSrc
Ett CLongBinary-objekt som ska kopieras till det nya COleVariant objektet.

pidl
En pekare till en ITEMIDLIST-struktur som ska kopieras till det nya COleVariant objektet.

Anmärkningar

Alla dessa konstruktorer skapar nya COleVariant objekt som initierats till det angivna värdet. En kort beskrivning av var och en av dessa konstruktorer följer.

  • COleVariant( ) Skapar ett tomt COleVariant objekt, VT_EMPTY.

  • COleVariant(varSrc) Kopierar ett befintligt VARIANT objekt eller COleVariant objekt. Varianttypen behålls.

  • COleVariant(pSrc) Kopierar ett befintligt VARIANT objekt eller COleVariant objekt. Varianttypen behålls.

  • COleVariant(lpszSrc) Kopierar en sträng till det nya objektet, VT_BSTR (UNICODE).

  • COleVariant(lpszSrc,vtSrc) Kopierar en sträng till det nya objektet. Parametern vtSrc måste vara VT_BSTR (UNICODE) eller VT_BSTRT (ANSI).

  • COleVariant(strSrc) Kopierar en sträng till det nya objektet, VT_BSTR (UNICODE).

  • COleVariant(nSrc) Kopierar ett 8-bitars heltal till det nya objektet, VT_UI1.

  • COleVariant(nSrc,vtSrc) Kopierar ett 16-bitars heltal (eller booleskt värde) till det nya objektet. Parametern vtSrc måste vara VT_I2 eller VT_BOOL.

  • COleVariant(lSrc,vtSrc) Kopierar ett 32-bitars heltal (eller SCODE-värde) till det nya objektet. Parametern vtSrc måste vara VT_I4, VT_ERROR eller VT_BOOL.

  • COleVariant(curSrc) Kopierar ett COleCurrency värde till det nya objektet, VT_CY.

  • COleVariant(fltSrc) Kopierar ett 32-bitars flyttalsvärde till det nya objektet, VT_R4.

  • COleVariant(dblSrc) Kopierar ett 64-bitars flyttalsvärde till det nya objektet, VT_R8.

  • COleVariant(timeSrc) Kopierar ett COleDateTime värde till det nya objektet, VT_DATE.

  • COleVariant(arrSrc) Kopierar ett CByteArray objekt till det nya objektet, VT_EMPTY.

  • COleVariant(lbSrc) Kopierar ett CLongBinary objekt till det nya objektet, VT_EMPTY.

Mer information om SCODE finns i Struktur för COM-felkoder i Windows SDK.

COleVariant::ChangeType

Konverterar typen av variantvärde i det här COleVariant objektet.

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

Parameterar

vartype
VARTYPE för det här COleVariant objektet.

pSrc
En pekare till variantobjektet som ska konverteras. Om det här värdet är NULL används det här COleVariant objektet som källa för konverteringen.

Anmärkningar

Mer information finns i posterna VARIANT, VARENUM och VariantChangeType i Windows SDK.

COleVariant::Clear

Rensar VARIANT.

void Clear();

Anmärkningar

Detta anger VARTYPE för det här objektet till VT_EMPTY. Destructor COleVariant anropar den här funktionen.

Mer information finns i posterna VARIANT, VARTYPE och VariantClear i Windows SDK.

COleVariant::D etach

Kopplar från det underliggande VARIANT-objektet från det här COleVariant objektet.

VARIANT Detach();

Anmärkningar

Den här funktionen anger VARTYPE för det här COleVariant objektet till VT_EMPTY.

Anmärkning

När du har ringt Detachär det anroparens ansvar att anropa VariantClear den resulterande VARIANT strukturen.

Mer information finns i poster för VARIANT, VARENUM och VariantClear i Windows SDK.

COleVariant::GetByteArrayFromVariantArray

Hämtar en bytematris från en befintlig variantmatris

void GetByteArrayFromVariantArray(CByteArray& bytes);

Parameterar

byte
En referens till ett befintligt CByteArray-objekt .

COleVariant::operator LPCVARIANT

Den här gjutningsoperatorn returnerar en VARIANT struktur vars värde kopieras från det här COleVariant objektet.

operator LPCVARIANT() const;

Anmärkningar

COleVariant::operator LPVARIANT

Anropa den här gjutningsoperatorn för att få åtkomst till den underliggande VARIANT strukturen för det här COleVariant objektet.

operator LPVARIANT();

Anmärkningar

Försiktighet

Om du ändrar värdet i den VARIANT struktur som används av pekaren som returneras av den här funktionen ändras värdet för det här COleVariant objektet.

COleVariant::operator =

Dessa överlagrade tilldelningsoperatorer kopierar källvärdet till det här COleVariant objektet.

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

Anmärkningar

En kort beskrivning av varje operator följer:

  • operator =(varSrc) Kopierar en befintlig VARIANT eller COleVariant ett befintligt objekt till det här objektet.

  • operator =(pSrc) Kopierar VARIANT-objektet som används av pSrc till det här objektet.

  • operator =(lpszSrc) Kopierar en null-avslutad sträng till det här objektet och anger VARTYPE till VT_BSTR.

  • operator =(strSrc) Kopierar ett CString-objekt till det här objektet och anger VARTYPE till VT_BSTR.

  • operator =(nSrc) Kopierar ett 8- eller 16-bitars heltalsvärde till det här objektet. Om nSrc är ett 8-bitarsvärde anges VARTYPE för detta till VT_UI1. Om nSrc är ett 16-bitars värde och VARTYPE för detta är VT_BOOL behålls det. annars är den inställd på VT_I2.

  • operator =(lSrc) Kopierar ett 32-bitars heltalsvärde till det här objektet. Om VARTYPE för detta är VT_ERROR behålls det. annars är den inställd på VT_I4.

  • operator =(curSrc) Kopierar ett COleCurrency-objekt till det här objektet och anger VARTYPE till VT_CY.

  • operator =(fltSrc) Kopierar ett 32-bitars flyttalsvärde till det här objektet och anger VARTYPE till VT_R4.

  • operator =(dblSrc) Kopierar ett 64-bitars flyttalsvärde till det här objektet och anger VARTYPE till VT_R8.

  • operator =(dateSrc) Kopierar ett COleDateTime-objekt till det här objektet och anger VARTYPE till VT_DATE.

  • operator =(arrSrc) Kopierar ett CByteArray-objekt till det här COleVariant objektet.

  • operator =(lbSrc) Kopierar ett CLongBinary-objekt till det här COleVariant objektet.

Mer information finns i poster för VARIANT och VARENUM i Windows SDK.

COleVariant::operator ==

Den här operatorn jämför två variantvärden och returnerar nonzero om de är lika med. annars 0.

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

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

Matar ut ett COleVariant värde till CArchive eller CdumpContext och matar in ett COleVariant objekt från 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);

Anmärkningar

Infogningsoperatorn COleVariant (<<) stöder diagnostisk dumpning och lagring i ett arkiv. Extraheringsoperatorn (>>) stöder inläsning från ett arkiv.

COleVariant::SetString

Anger strängen till en viss typ.

void SetString(LPCTSTR lpszSrc, VARTYPE vtSrc);

Parameterar

lpszSrc
En null-avslutad sträng som ska kopieras till det nya COleVariant objektet.

VtSrc
VARTYPE för det nya COleVariant objektet.

Anmärkningar

Parametern vtSrc måste vara VT_BSTR (UNICODE) eller VT_BSTRT (ANSI). SetString används vanligtvis för att ange strängar till ANSI, eftersom standardvärdet för konstruktorn COleVariant::COleVariant med en sträng- eller strängpekareparameter och ingen VARTYPE är UNICODE.

En DAO-postuppsättning i en icke-UNICODE-version förväntar sig att strängar ska vara ANSI. Om du inte skapar en UNICODE-postuppsättning för DAO-funktioner som använder COleVariant objekt måste du därför använda konstruktorn COleVariant::COleVariant(lpszSrc,vtSrc) med vtSrc inställt på VT_BSTRT (ANSI) eller använda SetString med vtSrc inställt på VT_BSTRT för att skapa ANSI-strängar. Funktionerna CDaoRecordset och CDaoRecordset::SetFieldValue använder till exempel COleVariant objekt som parametrar. Dessa objekt måste vara ANSI om DAO-postuppsättningen inte är UNICODE.

Se även

hierarkidiagram