求救,关于VARIANT的参数问题。

fly_freely_dream 2002-05-13 03:14:58
我用了别人写的一个控件类,其中有一个函数是用于画二维图的,
是PlotXY(const VARIANT& XYData,const VARIANT& Col)
我知道VARIANT是一个结构体,但调用时怎么调用它呢?
哪位大虾能否提供一些简单的例子。先谢了。。。。
...全文
15 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
white_whan 2002-05-14
请你跟踪一下具体错误位置。
我的测试代码OK!
如下:
void CClientDlg::TestVar(VARIANT& var1)
{
VariantChangeType(&var1, &var1, 0, VT_BSTR);
CString str = var1.bstrVal;
AfxMessageBox(str);
}

void CClientDlg::OnOK()
{
// TODO: Add your specialized code here and/or call the base class
VARIANT var;
var.vt = VT_I2;
var.iVal = 100;
TestVar(var);
//CDialog::OnOK();
}
回复
fly_freely_dream 2002-05-13
VARIANT var1,var2;
var1.vt=VT_I2;
var1.iVal=6;
var2.vt=VT_I2;
var2.iVal=10;
m_CCWGraphSensor.PlotXY(var1,var2);
执行后发现"Array Dimension mismatch"的错误,到底怎么回事?
谢谢!你有QQ吗?我在QQ上向您请教。
回复
hecCIBN 2002-05-13
也可以使用WideCharToMultiByte啊
回复
white_whan 2002-05-13
xt_jat(桑巴)的varAddress定义为_variant_t varAddress;
如果VARIANT varAddress;可以使用VariantChangeType(...);
一般varAddress = _variant_t(...);是可行的。
或者
varAddress.vt = VT_BSTR;
varAddress.bstrVal = str.AllocSysString();//str defined as CString
回复
fly_freely_dream 2002-05-13
我现在想给varAddress赋初值,你那一句怎么不管用呢?
而且VARIANT没有ChangeTyep这个函数呀?
再次请您解答,谢谢!
回复
xt_jat 2002-05-13
呵呵,忘了,
varAddress是VARIANT类型
strAddress是CString类型
(*pRs)->GetCollect(_variant_t("address"));//这个东东不用管了,主要是给varAddress赋了一个值.
回复
fly_freely_dream 2002-05-13
varAddress=(*pRs)->GetCollect(_variant_t("address"));
varAddress.ChangeType(VT_BSTR);
strAddress=varAddress.bstrVal;
中pRs是什么意思?varAddress的类型?strAddress的类型?请您详细解答一下。谢谢!
回复
xt_jat 2002-05-13
varAddress=(*pRs)->GetCollect(_variant_t("address"));
varAddress.ChangeType(VT_BSTR);
strAddress=varAddress.bstrVal;
//
typedef struct tagVARIANT {
VARTYPE vt;
unsigned short wReserved1;
unsigned short wReserved2;
unsigned short wReserved3;
union {
Byte bVal; // VT_UI1.
Short iVal; // VT_I2.
long lVal; // VT_I4.
float fltVal; // VT_R4.
double dblVal; // VT_R8.
VARIANT_BOOL boolVal; // VT_BOOL.
SCODE scode; // VT_ERROR.
CY cyVal; // VT_CY.
DATE date; // VT_DATE.
BSTR bstrVal; // VT_BSTR.
DECIMAL FAR* pdecVal // VT_BYREF|VT_DECIMAL.
IUnknown FAR* punkVal; // VT_UNKNOWN.
IDispatch FAR* pdispVal; // VT_DISPATCH.
SAFEARRAY FAR* parray; // VT_ARRAY|*.
Byte FAR* pbVal; // VT_BYREF|VT_UI1.
short FAR* piVal; // VT_BYREF|VT_I2.
long FAR* plVal; // VT_BYREF|VT_I4.
float FAR* pfltVal; // VT_BYREF|VT_R4.
double FAR* pdblVal; // VT_BYREF|VT_R8.
VARIANT_BOOL FAR* pboolVal; // VT_BYREF|VT_BOOL.
SCODE FAR* pscode; // VT_BYREF|VT_ERROR.
CY FAR* pcyVal; // VT_BYREF|VT_CY.
DATE FAR* pdate; // VT_BYREF|VT_DATE.
BSTR FAR* pbstrVal; // VT_BYREF|VT_BSTR.
IUnknown FAR* FAR* ppunkVal; // VT_BYREF|VT_UNKNOWN.
IDispatch FAR* FAR* ppdispVal; // VT_BYREF|VT_DISPATCH.
SAFEARRAY FAR* FAR* pparray; // VT_ARRAY|*.
VARIANT FAR* pvarVal; // VT_BYREF|VT_VARIANT.
void FAR* byref; // Generic ByRef.
char cVal; // VT_I1.
unsigned short uiVal; // VT_UI2.
unsigned long ulVal; // VT_UI4.
int intVal; // VT_INT.
unsigned int uintVal; // VT_UINT.
char FAR * pcVal; // VT_BYREF|VT_I1.
unsigned short FAR * puiVal; // VT_BYREF|VT_UI2.
unsigned long FAR * pulVal; // VT_BYREF|VT_UI4.
int FAR * pintVal; // VT_BYREF|VT_INT.
unsigned int FAR * puintVal; //VT_BYREF|VT_UINT.
};
回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-05-13 03:14
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……