在VC中如何使用VARIANT变量(转自CSDN)

2025-02-23 13:55:30
推荐回答(1个)
回答1:

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