Aracılığıyla paylaş


COleVariant Sınıfı

VARIANT veri türünü kapsüller.

Sözdizimi

class COleVariant : public tagVARIANT

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
COleVariant::COleVariant Bir COleVariant nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
COleVariant::Attach bir DEĞIŞKEN ekler COleVariant.
COleVariant::ChangeType Bu COleVariant nesnenin değişken türünü değiştirir.
COleVariant::Clear Bu COleVariant nesneyi temizler.
COleVariant::D etach bir VARIANT'ı uygulamasından COleVariant ayırır ve VARIANT değerini döndürür.
COleVariant::GetByteArrayFromVariantArray Var olan bir değişken diziden bayt dizisi alır.
COleVariant::SetString Dizeyi genellikle ANSI olarak belirli bir türe ayarlar.

Ortak İşleçler

Veri Akışı Adı Açıklama
COleVariant::operator LPCVARIANT Bir COleVariant değeri değerine LPCVARIANTdönüştürür.
COleVariant::operator LPVARIANT Bir COleVariant nesneyi içine LPVARIANTdönüştürür.
COleVariant::operator = Bir COleVariant değeri kopyalar.
COleVariant::operator == İki COleVariant değeri karşılaştırır.
COleVariant::operator <<, COleVariant::operator >> veya CDumpContext öğesine CArchive bir COleVariant değer verir ve öğesinden CArchivebir COleVariant nesne ekler.

Açıklamalar

Bu veri türü OLE otomasyonunda kullanılır. Özellikle, DISPPARAMS yapısı bir DEĞIŞKEN yapıları dizisine yönelik bir işaretçi içerir. IDispatchDISPPARAMS::Invoke'a parametre geçirmek için bir yapı kullanılır.

Not

Bu sınıf yapısından VARIANT türetilir. Bu, öğesini COleVariant çağıran VARIANT bir parametresi geçirebileceğiniz ve yapısının veri üyelerinin öğesinin VARIANT erişilebilir veri üyeleri COleVariantolduğu anlamına gelir.

İlişkili iki MFC sınıfı COleCurrency ve COleDateTime, CURRENCY ( ) ve DATE ( VT_CYVT_DATE) değişken veri türlerini kapsüller. COleVariant sınıfı DAO sınıflarında yaygın olarak kullanılır; bu sınıfın tipik kullanımı için bu sınıflara bakın, örneğin CDaoQueryDef ve CDaoRecordset.

Daha fazla bilgi için windows SDK'sında VARIANT, CURRENCY, DISPPARAMS ve IDispatch::Invoke girişlerine bakın.

Sınıfı ve OLE otomasyonundaki kullanımı hakkında COleVariant daha fazla bilgi için Otomasyon makalesindeki "OLE Otomasyonunda Parametreleri Geçirme" bölümüne bakın.

Devralma Hiyerarşisi

tagVARIANT

COleVariant

Gereksinimler

Üst bilgi: afxdisp.h

COleVariant::Attach

Verilen VARIANT nesnesini geçerli COleVariant nesneye eklemek için bu işlevi çağırın.

void Attach(VARIANT& varSrc);

Parametreler

varSrc
Geçerli COleVariant nesneye eklenecek mevcut VARIANT bir nesne.

Açıklamalar

Bu işlev varSrc'nin VARTYPE'ını VT_EMPTY olarak ayarlar.

Daha fazla bilgi için Bkz. Windows SDK'sında VARIANT ve VARENUM girdileri.

COleVariant::COleVariant

Bir COleVariant nesne oluşturur.

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

Parametreler

varSrc
Yeni COleVariant nesneye kopyalanacak mevcut COleVariant veya VARIANT nesne.

pSrc
Yeni COleVariant nesneye kopyalanacak bir VARIANT nesnenin işaretçisi.

lpszSrc
Yeni COleVariant nesneye kopyalanacak null olarak sonlandırılan bir dize.

vtSrc
VARTYPE Yeni COleVariant nesne için.

strSrc
Yeni COleVariant nesneye kopyalanacak bir CString nesnesi.

nSrc, lSrc Yeni COleVariant nesneye kopyalanacak sayısal değer.

vtSrc
VARTYPE Yeni COleVariant nesne için.

curSrc
Yeni COleVariant nesneye kopyalanacak bir COleCurrency nesnesi.

fltSrc, dblSrc
Yeni COleVariant nesneye kopyalanacak sayısal değer.

timeSrc
Yeni COleVariant nesneye kopyalanacak bir COleDateTime nesnesi.

arrSrc
Yeni COleVariant nesneye kopyalanacak bir CByteArray nesnesi.

lbSrc
Yeni COleVariant nesneye kopyalanacak bir CLongBinary nesnesi.

pidl
Yeni COleVariant nesneye kopyalanacak ITEMIDLIST yapısının işaretçisi.

Açıklamalar

Tüm bu oluşturucular, belirtilen değere başlatılan yeni COleVariant nesneler oluşturur. Bu oluşturucuların her birinin kısa bir açıklaması aşağıdadır.

  • COleVariant( ) VT_EMPTY boş COleVariant bir nesne oluşturur.

  • COleVariant( varSrc ) Varolan VARIANT bir veya COleVariant nesneyi kopyalar. Değişken türü korunur.

  • COleVariant( pSrc ) Varolan VARIANT bir veya COleVariant nesneyi kopyalar. Değişken türü korunur.

  • COleVariant( lpszSrc ) Yeni nesneye VT_BSTR (UNICODE) bir dize kopyalar.

  • COleVariant( lpszSrc , vtSrc ) Yeni nesneye bir dize kopyalar. vtSrc parametresi VT_BSTR (UNICODE) veya VT_BSTRT (ANSI) olmalıdır.

  • COleVariant( strSrc ) Yeni nesneye VT_BSTR (UNICODE) bir dize kopyalar.

  • COleVariant( nSrc ) 8 bitlik bir tamsayıyı VT_UI1 yeni nesneye kopyalar.

  • COleVariant( nSrc , vtSrc ) Yeni nesneye 16 bitlik bir tamsayı (veya Boole değeri) kopyalar. vtSrc parametresi VT_I2 veya VT_BOOL olmalıdır.

  • COleVariant( lSrc , vtSrc ) Yeni nesneye 32 bitlik bir tamsayı (veya SCODE değeri) kopyalar. vtSrc parametresi VT_I4, VT_ERROR veya VT_BOOL olmalıdır.

  • COleVariant( curSrc ) Yeni nesneye VT_CY bir COleCurrency değer kopyalar.

  • COleVariant( fltSrc ) 32 bit kayan nokta değerini yeni nesneye kopyalar VT_R4.

  • COleVariant( dblSrc ) 64 bit kayan nokta değerini yeni nesneye kopyalar VT_R8.

  • COleVariant( timeSrc ) Yeni nesneye VT_DATE bir COleDateTime değer kopyalar.

  • COleVariant( arrSrc ) Bir CByteArray nesneyi yeni nesneye kopyalar VT_EMPTY.

  • COleVariant( lbSrc ) Bir CLongBinary nesneyi yeni nesneye kopyalar VT_EMPTY.

SCODE hakkında daha fazla bilgi için bkz . Windows SDK'sında COM Hata Kodlarının Yapısı.

COleVariant::ChangeType

Bu COleVariant nesnedeki değişken değerin türünü dönüştürür.

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

Parametreler

vartype
Bu COleVariant nesne için VARTYPE.

pSrc
Dönüştürülecek VARIANT nesnesinin işaretçisi. Bu değer NULL ise, dönüştürme için kaynak olarak bu COleVariant nesne kullanılır.

Açıklamalar

Daha fazla bilgi için Bkz. Windows SDK'sında VARIANT, VARENUM ve VariantChangeType girdileri.

COleVariant::Clear

öğesini VARIANTtemizler.

void Clear();

Açıklamalar

Bu, bu nesnenin VARTYPE'ını VT_EMPTY olarak ayarlar. Yıkıcı COleVariant bu işlevi çağırır.

Daha fazla bilgi için bkz VARIANT. Windows SDK'sında , VARTYPE ve VariantClear girdiler.

COleVariant::D etach

Temel alınan VARIANT nesnesini bu COleVariant nesneden ayırır.

VARIANT Detach();

Açıklamalar

Bu işlev, bu COleVariant nesnenin VARTYPE'ını VT_EMPTY olarak ayarlar.

Not

çağrısı Detachyaptıktan sonra, sonuçta elde VARIANT edilen yapıyı çağırmak VariantClear çağıranın sorumluluğundadır.

Daha fazla bilgi için Windows SDK'sında VARIANT, VARENUM ve VariantClear girişlerine bakın.

COleVariant::GetByteArrayFromVariantArray

Var olan bir değişken diziden bayt dizisi alır

void GetByteArrayFromVariantArray(CByteArray& bytes);

Parametreler

Bayt
Var olan bir CByteArray nesnesine başvuru.

COleVariant::operator LPCVARIANT

Bu atama işleci, değeri bu COleVariant nesneden kopyalanan bir VARIANT yapı döndürür.

operator LPCVARIANT() const;

Açıklamalar

COleVariant::operator LPVARIANT

Bu nesnenin temel alınan VARIANT yapısına erişmek için bu COleVariant atama işlecini çağırın.

operator LPVARIANT();

Açıklamalar

Dikkat

Bu işlev tarafından döndürülen işaretçi tarafından erişilen yapıdaki VARIANT değerin değiştirilmesi, bu COleVariant nesnenin değerini değiştirir.

COleVariant::operator =

Bu aşırı yüklenmiş atama işleçleri kaynak değeri bu COleVariant nesneye kopyalar.

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

Açıklamalar

Her işlecin kısa bir açıklaması şu şekildedir:

  • operator =( varSrc ) Var olan bir VARIANT'ı veya COleVariant nesneyi bu nesneye kopyalar.

  • operator =( pSrc ) pSrc tarafından erişilen VARIANT nesnesini bu nesneye kopyalar.

  • operator =( lpszSrc ) Null olarak sonlandırılan bir dizeyi bu nesneye kopyalar ve VARTYPE değerini VT_BSTR olarak ayarlar.

  • operator =( strSrc ) Bir CString nesnesini bu nesneye kopyalar ve VARTYPE değerini VT_BSTR olarak ayarlar.

  • operator =( nSrc ) Bu nesneye 8 veya 16 bitlik bir tamsayı değeri kopyalar. nSrc 8 bitlik bir değerse, bunun VARTYPE değeri VT_UI1 olarak ayarlanır. nSrc 16 bitlik bir değerse ve bunun VARTYPE değeri VT_BOOL ise korunur; aksi takdirde VT_I2 olarak ayarlanır.

  • operator =( lSrc ) 32 bitlik bir tamsayı değerini bu nesneye kopyalar. Bunun VARTYPE'ı VT_ERROR ise tutulur; aksi takdirde, VT_I4 olarak ayarlanır.

  • operator =( curSrc ) COleCurrency nesnesini bu nesneye kopyalar ve VARTYPE değerini VT_CY olarak ayarlar.

  • operator =( fltSrc ) 32 bit kayan nokta değerini bu nesneye kopyalar ve VARTYPE değerini VT_R4 olarak ayarlar.

  • operator =( dblSrc ) 64 bit kayan nokta değerini bu nesneye kopyalar ve VARTYPE değerini VT_R8 olarak ayarlar.

  • operator =( dateSrc ) COleDateTime nesnesini bu nesneye kopyalar ve VARTYPE değerini VT_DATE olarak ayarlar.

  • operator =( arrSrc ) CByteArray nesnesini bu COleVariant nesneye kopyalar.

  • operator =( lbSrc ) Bir CLongBinary nesnesini bu COleVariant nesneye kopyalar.

Daha fazla bilgi için Bkz. Windows SDK'sında VARIANT ve VARENUM girdileri.

COleVariant::operator ==

Bu işleç iki değişken değerini karşılaştırır ve eşitse sıfır olmayan değer döndürür; aksi takdirde 0.

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

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

veya CdumpContext öğesine CArchive bir COleVariant değer verir ve öğesinden CArchivebir COleVariant nesne ekler.

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

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

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

Açıklamalar

Ekleme COleVariant (<<) işleci, tanılama dökümünü ve arşive depolanmayı destekler. Ayıklama (>>) işleci bir arşivden yüklemeyi destekler.

COleVariant::SetString

Dizeyi belirli bir türe ayarlar.

void SetString(LPCTSTR lpszSrc, VARTYPE vtSrc);

Parametreler

lpszSrc
Yeni COleVariant nesneye kopyalanacak null olarak sonlandırılan bir dize.

VtSrc
Yeni COleVariant nesne için VARTYPE.

Açıklamalar

vtSrc parametresi VT_BSTR (UNICODE) veya VT_BSTRT (ANSI) olmalıdır. SetString genellikle dizeleri ANSI olarak ayarlamak için kullanılır çünkü bir dize veya dize işaretçi parametresine sahip COleVariant::COleVariant oluşturucusunun varsayılan değeri UNICODE değildir.

UNICODE olmayan bir derlemedeki DAO kayıt kümesi, dizelerin ANSI olmasını bekler. Bu nedenle, nesneleri kullanan COleVariant DAO işlevleri için, UNICODE kayıt kümesi oluşturmuyorsanız, vtSrc VT_BSTRT (ANSI) olarak ayarlanmış oluşturucunun COleVariant::COleVariant( lpszSrc , vtSrc ) biçimini kullanmanız SetString veya ANSI dizeleri oluşturmak için vtSrc ile VT_BSTRT olarak ayarlamanız gerekir. Örneğin, CDaoRecordset CDaoRecordset::Seek ve CDaoRecordset::SetFieldValue işlevleri nesneleri parametre olarak kullanırCOleVariant. DAO kayıt kümesi UNICODE değilse, bu nesneler ANSI olmalıdır.

Ayrıca bkz.

Hiyerarşi Grafiği