Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
COleVariantobjekt, VT_EMPTY.COleVariant(varSrc) Kopierar ett befintligt
VARIANTobjekt ellerCOleVariantobjekt. Varianttypen behålls.COleVariant(pSrc) Kopierar ett befintligt
VARIANTobjekt ellerCOleVariantobjekt. 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
COleCurrencyvä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
COleDateTimevärde till det nya objektet, VT_DATE.COleVariant(arrSrc) Kopierar ett
CByteArrayobjekt till det nya objektet, VT_EMPTY.COleVariant(lbSrc) Kopierar ett
CLongBinaryobjekt 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
COleVariantett 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
COleVariantobjektet.operator =(lbSrc) Kopierar ett CLongBinary-objekt till det här
COleVariantobjektet.
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.