我怎样才能使用VARIANT类型的变量? [英] How can I use VARIANT type of variable?

查看:130
本文介绍了我怎样才能使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆