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 LPCVARIANT dönüştürür. |
COleVariant::operator LPVARIANT | Bir COleVariant nesneyi içine LPVARIANT dö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 CArchive bir 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 COleVariant
olduğu anlamına gelir.
İlişkili iki MFC sınıfı COleCurrency ve COleDateTime, CURRENCY ( ) ve DATE ( VT_CY
VT_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 veyaCOleVariant
nesneyi kopyalar. Değişken türü korunur.COleVariant( pSrc ) Varolan
VARIANT
bir veyaCOleVariant
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 VARIANT
temizler.
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ı Detach
yaptı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 CArchive
bir 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.