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