我怎样才能使用VARIANT类型的变量? [英] How can I use VARIANT type of variable?
本文介绍了我怎样才能使用VARIANT类型的变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我必须使用以下函数从COM模块获取数据:
I have to get data from a COM-module, using the following function:
HRESULT ADObj.GetArchiveFinInfoFromDB(BSTR PlaceCode, BSTR PCode, long Period, VARIANT DateFrom, VARIANT DateTo, BSTR * Result)
请举例说明如何设定特定日期进入它。
这里是VARIANT的定义:
Please, give an example of how to put a particular date into it.
Here is VARIANT definition:
struct tagVARIANT
{
union
{
struct __tagVARIANT
{
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
union
{
LONGLONG llVal;
LONG lVal;
BYTE bVal;
SHORT iVal;
FLOAT fltVal;
DOUBLE dblVal;
VARIANT_BOOL boolVal;
_VARIANT_BOOL bool ;
SCODE scode;
CY cyVal;
DATE date;
BSTR bstrVal;
IUnknown *punkVal;
IDispatch *pdispVal;
SAFEARRAY *parray;
BYTE *pbVal;
SHORT *piVal;
LONG *plVal;
LONGLONG *pllVal;
FLOAT *pfltVal;
DOUBLE *pdblVal;
VARIANT_BOOL *pboolVal;
_VARIANT_BOOL *pbool;
SCODE *pscode;
CY *pcyVal;
DATE *pdate;
BSTR *pbstrVal;
IUnknown **ppunkVal;
IDispatch **ppdispVal;
SAFEARRAY **pparray;
VARIANT *pvarVal;
PVOID byref;
CHAR cVal;
USHORT uiVal;
ULONG ulVal;
ULONGLONG ullVal;
INT intVal;
UINT uintVal;
DECIMAL *pdecVal;
CHAR *pcVal;
USHORT *puiVal;
ULONG *pulVal;
ULONGLONG *pullVal;
INT *pintVal;
UINT *puintVal;
struct __tagBRECORD
{
PVOID pvRecord;
IRecordInfo *pRecInfo;
} __VARIANT_NAME_4;
} __VARIANT_NAME_3;
} __VARIANT_NAME_2;
DECIMAL decVal;
} __VARIANT_NAME_1;
} ;
推荐答案
这里有一个例子:在MSDN上设置类型标记字段 [ ^ ]。
也有看一下COleDateTime Class [ ^ ]。
Here an example: "Setting the Type Tag Field" at MSDN[^].
Have also a look at "COleDateTime Class"[^].
这篇关于我怎样才能使用VARIANT类型的变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文