COleVariant是什么数据类型 COleVariant 具体如何用,有什么功能?

用于ole自动化的VARRANT类型,可以用于存储多种格式

COleVariant 类通逢装了 VARIANT 结构。实际的数据就在 VARIANT 结构中。

VARIANT 结构包含两部分。其一是 VARTYPE 型的成员变量vt;其二是个联合类型,这个联合包含了VC常用的几乎所有类型。因为联合用的是相同的存储空间,因此对联合的内容的解释依赖于 vt。
例如,
若 vt 的值是 VT_UI2, 说明该联合被解释为short int. 并使用成员变量名 iVal。
若 vt 的的值是 VT_BSTR,说明该联合被解释为 BSTR 类型。并使用成员变量名 bstrVal。
若 vt 的的值是 VT_BSTR|VT_BYREF,说明该联合被解释为BSTR 型指针。并使用成员变量名 pbstrVal

Example:
------------------
VARIANT va;
:: VariantInit(&va); // 初始化
int a = 2002;
va.vt = VT_I4; // 指明long数据类型
va.lVal = a; // 赋值
--------------------------------
  为了方便处理VARIANT类型的变量,Windows还提供了这样一些非常有用的函数:

  VariantInit —— 将变量初始化为VT_EMPTY;

  VariantClear —— 消除并初始化VARIANT;

  VariantChangeType —— 改变VARIANT的类型;

  VariantCopy —— 释放与目标VARIANT相连的内存并复制源VARIANT。

求助改善Delphi调用olevariant出现“被呼叫方拒绝接收呼叫”_百度知 ...
OleVariant 数据类型,通常是在使用 COM (ActiveX)技术时会用到的一种数据类型。这种类型可以称之为 变体 类型,可以是 string, integer, float 等等。出现“被呼叫方拒绝接收呼叫”这种类型的错误,通常是与系统中的 COM ...

...调试环境下怎么查看 OleVariant 数组 类型的数值,多谢
end;\/\/这时UOutArr[1]..UOutArr[6]里面都是string类型的数据了 \/\/ShowMessage(UOutArr[1]);end;

请问delphi里面OleVariant类是干嘛的呢
是与windows系统的是Ole软件进行软件调用、数据交换用的。最常见的例子是,在delphi里调用MS Office里面的软件,如word、execel等。这里面的数据类型基本上都需要使用OleVariant,或者Variant。

...哪个高手了解 服务器回调后,返回olevariant 类型的数据
end;\/\/这时UOutArr[1]..UOutArr[6]里面都是string类型的数据了 \/\/ShowMessage(UOutArr[1]);end;

请问DELPHI串口通讯编程 的基本思路是什么
有一点要注意,在Object Inspector中MSComm控件的Input和Output属性是不可见的,但它们仍然存在,这两个属性的类型是OleVariant(Ole万能变量)。下面是一接收程序的样例(主要部分),大家可根据实际需要进行完善。在Form中放置...

如何把VC++中函数的数据结构转换为Delphi格式的?
unsigned char Comp 64位浮点数 Comp 类 OleVariant OLE可变类型值 OleVariant 类

delphi 变量赋值
分类: 电脑\/网络 >> 程序设计 >> 其他编程语言 问题描述:a:pchar ;b :olevariant;getmem(a,1000);已通过函数把A数据读出 ,如何把a的数据赋给b ,而且不丢失数据.解析:不需要Getmem,pchar本身就是指针 var a:p...

求助,Delphi中数据字段类型同原生ADO中字段类型的对应关系
function CreateCommand: OleVariant;\/\/释放 Command 对象;cmd 为 Command 对象procedure FreeCommand(var cmd: OleVariant);\/\/用 Connection 连接到 SQLServer 数据库;cnn 为 Connection 对象,db 数据库名,host 主机名,usr 用户名,pwd ...

delphi中的PwideChar在c#中用哪个类型代替?
string pansichar string pextended double pcomp double pcurrency double pvariant object polevariant object ppointer object pboolean bool pdatetime System.DateTime ...

delphi怎么读取iDispatch类型的记录集,在线等
iDispatch 属于接口类型,读取该类型的记录集(RecordSet),网上有提供示例代码如下:var rs: _RecordSet; VarResult: OleVariant;begin VarResult := PassRsObj1.getdata; rs := IUnknown(VarResult) as _...

相关评说:

  • 殷陶17814241639: 如何从ColeVariant中提取二进制数 -
    龙潭区抛物: ______ ColeVariant 只不过对 VARIANT 又进行了一层封装.COleVariant重载了LPVARIANT操作符,可以通过类型转换得到一个VARIANT类型的指针,然后在根据VARTYPE指定的类型在相应位置获得数据.在VARIANT中存放数据的类型时,也可以直接转化的.要想正确地从ColeVariant中提取二进制数,首先对象中存储的应该是二进制数
  • 殷陶17814241639: C++怎么创建EXCEL表 -
    龙潭区抛物: ______ COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR); app.CreateDispatch("EXCEL.Application"); app.SetVisible(false); //设置表可见性 app.SetDisplayFullScreen(false); //设置不全屏显示 app.SetDisplayAlerts(false); //屏蔽警告
  • 殷陶17814241639: VC中CComVariant如何转string[]? -
    龙潭区抛物: ______ CComVariant v; CString str; str=v.bstrVal
  • 殷陶17814241639: 怎么将cstring 的数组转换为colevariant -
    龙潭区抛物: ______ CString cs; _bstr_t bs=cs; COleVariant vt(bs);
  • 殷陶17814241639: ColeVariant需要引用那个头文件?mfc问题 -
    龙潭区抛物: ______ ColeVariant需要引用 #include <afxdisp.h> 细节如下:1. COleVariant类是对VARIANT结构的封装.2. VARIANT 结构包含两部分.其一是 VARTYPE 型的成员变量vt;其二是个联合类型,这个联合包含了VC常用的几乎所有类型.因为联合用的是相同的存储空间,因此对联合的内容的解释依赖于 vt.3. COleVariant 本质上是一个枚举,用同一种类型来表达不同的子类型.如同boost中的variant.
  • 殷陶17814241639: m - mscomm.SetOutput(COleVariant(m - Result))显示invalid property value
    龙潭区抛物: ______ invalid property value一般是运行时字节转换失败造成的. 这里首先看接收和发送是不是都是自己写的,接收是不是一样的通讯控件.如果不是,那么必须按照接收端格式设置. 如果两边都是,可以尝试将double做成CByteArray吧,据说这个最安全. 理论上COleVariant对CString和double都是支持的,应该不是发送代码本身的问题,先看接收匹配,再尝试字节数组吧.
  • 殷陶17814241639: 在线求助!vc中关于variant类型的问题~~ -
    龙潭区抛物: ______ VARIANT 、_variant_t 与 COleVariantVARIANT的结构可以参考头文件VC98\Include\OAIDL.H中关于结构体tagVARIANT的定义.对于VARIANT变量的赋值:首先给vt成员赋值,指明数据类型,再对联合结构中相同数据类型的变量赋值,举个例...
  • 殷陶17814241639: 串口控件通信急急!!!! -
    龙潭区抛物: ______ 确认 variant_inp 读到的值都是正确的,调试看看.
  • 殷陶17814241639: MFC从txt中读取数据函数 -
    龙潭区抛物: ______ 用CFileStadio类 用ReadString 读取每一行
  • 殷陶17814241639: 如何将cstring转换成 COleVariant - CSDN论坛 -
    龙潭区抛物: ______ 修改一下,加个\0结束符,否则反转的时候会有错,如下 void CCovtestDlg::OnButton1() { CString szTemp="aaa"; LPBYTE pByte=new BYTE[szTemp.GetLength() + 1]; memcpy(pByte, (LPTSTR)(LPCTSTR)szTemp, szTemp.GetLength()); pByte[...