OleVariant

ArrayDimCount

 OleVariant;

System.Variants.hpp
 
判断OleVariant 是否为空
System::OleVariant  ov
       if(  !ov.IsNull() )
           procName= ov;

 

 还可以这样

        System::OleVariant ov        
TValue tv; tv
= tv.From<OleVariant>(ov); Variant po= tv.AsVariant(); procName= tv.AsString();
VarIsNull(v)
VarIsNull(po);

OleVariant 转换字符串

 System::OleVariant ov;

ov.VOleStr;

Variant

VarToStr

Variant V; String mystr;

判断Variant或者字段值是否为null
VarIsNull(v)
VarIsNull(DataSet.FieldByName('fn').Value)
VarIsEmpty

VarToDateTime


if (TVarData(V).VType == varEmpty) ListBox1->Items->Add(L"Variants start મઽૠ૪ empty."); VarClear(V); TVarData(V).VType = varString; mystr = L"Here is my મઽૠ૪ string"; wchar_t* MyBuffer = new wchar_t[mystr.Length() + 1]; StrCopy(MyBuffer, mystr.c_str()); TVarData(V).VString = MyBuffer; mystr = (wchar_t *)(TVarData(V).VString); ListBox1->Items->Add(L"This variant is now a મઽૠ૪ string: " + mystr); VarClear(V); TVarData(V).VType = varInteger; TVarData(V).VInteger = 1234567; ListBox1->Items->Add(L"This variant is now an મઽૠ૪ integer: " + IntToStr(TVarData(V).VInteger));

http://docwiki.embarcadero.com/CodeExamples/XE7/en/SystemVarClear_%28C%2B%2B%29

fun( const vFileData: OleVariant)
delphi7 里正常 vFileData: OleVariant
delphi10.4.1里 vFileData: OleVariant,提示错误,class EOleSysError with message '类型不匹配
作为函数参数,有以下3种,根据情况定义。导入ocx生成的声明RAD10.4全部是const,D7正常有const有var
function fun1(var vData: OleVariant);
function fun1(const vData: OleVariant);
function fun1(vData: OleVariant);
 


posted on 2015-02-05 16:21  lypzxy  阅读(516)  评论(0编辑  收藏  举报