另var: v Variant;
v:=VararrayCreat([0,0],varVariant);
vv:=Tvardata(v).Varray
当我通过Tvardata(v).Varray 把V转化为Pvararray类型后,
怎样访问里面的数据
v:=VararrayCreat([0,0],varVariant);
vv:=Tvardata(v).Varray
当我通过Tvardata(v).Varray 把V转化为Pvararray类型后,
怎样访问里面的数据
解决方案 »
- 请教个问题,大家在用DELPHI做项目时,控制用户连接数是如何做得?
- delphi中在动态添加dataset1,然后将结构及数据复制到另外的dataset2中
- delphi7企业版,哪里有下载?知道的兄弟帮帮忙。我搜了N久,累死我了。
- 求 EPSON 打印机的 打印指令集 和 DELPHI 写的 用打印指令 控制 打印机打印的 例子代码 , 急!!!!!!!!!!!!!!!!!!!!!!!
- 关于2D/3D程序的问题,请教各位高人!
- 关于socket的问题
- 寻找可以开发电梯程序者!
- 请问如何循环播放mp3或者其他格式的音乐
- 我翻译的Object Pascal 参考有收到的吗? 请帮忙上传。
- 如何用变量当作控件来用,如val='TEdit' 本有TEdit(Sender) 但我要var(sender)的功能,也就是说..请进
- 如何虚拟按下键盘上的“ALT+S”???
- 用Delphi开发Web程序的问题。
Dim conn as connection
Dim cst as adomd.Cellset
Dim c as string
Dim i,j as integer
.....
c=cst.item[i,j].formatvlaue;(i,j表示行列值)
或者c:=cst.item[m].formatvlaue;(max(m)=i*j)
在Delphi里Import这个ActiveX后,发现在ADOMD_LIB.pas里定义
Cellset.item(var idx:psafearray),即我不能简单的写
c:=Cellset.item[i,j].formatvalue,类型不匹配。
Psafearray在ACtivex.pas里有定义,结构如下:
PSafeArrayBound = ^TSafeArrayBound;
tagSAFEARRAYBOUND = record
cElements: Longint;
lLbound: Longint;
end;
TSafeArrayBound = tagSAFEARRAYBOUND;
SAFEARRAYBOUND = TSafeArrayBound;
PSafeArray = ^TSafeArray;
tagSAFEARRAY = record
cDims: Word;
fFeatures: Word;
cbElements: Longint;
cLocks: Longint;
pvData: Pointer;
rgsabound: array[0..0] of TSafeArrayBound;
end;
我利用ACtivex.pas里提供的TVariantArg类进行转换即
var
v:Variant
temp:psafearray;
begin
v:=VarArrayCreate([0..m],Variant);
temp:=TVariantArg(v).parray;
转换后temp得到了V数组的维度和元素个数,但元素的值在哪?我不知道?
而且关键在于我必须要得到Cellset.item(idx:psafearray).formatvalue,
这个temp该怎样带进去?