在VC中如何使用VARIANT变量

用MapX写程序时,有些方法的输入参数和返回值都是VARIANT类型,在VB中用dim pv as variant就可以了,而在Vc中稍微麻烦一点,不过稍微尝试一二,就会发现不过如此了。在vc中主要用COleVariant对象定义variant变量,以下面的例子为说明:

例如:要取得pdataset中某一行某一列的属性值,pfeature,pfield分别表示行和列,要读取某一个值,该值为String类型变量。

         COleVariant vRow;

         COleVariant vCol;

         COleVariant vVal;

 

         vRow.vt = VT_DISPATCH;

         vRow.pdispVal = pfeature.m_lpDispatch;

         vRow.pdispVal->AddRef();

 

         vCol.vt = VT_DISPATCH;

         vCol.pdispVal = pfield.m_lpDispatch;

         vCol.pdispVal->AddRef();

 

         vVal = pdataset.GetValue(vRow, vCol);//COleVariant(7L));

 

         vVal.ChangeType(VT_BSTR);

        

         m_strfeaturevalue = vVal.bstrVal;

         m_edtfeaturevalue.SetWindowText(m_strfeaturevalue);

你可能感兴趣的:(在VC中如何使用VARIANT变量)