to sachow:
问题是我要对数组赋值,如下:
for i:=0 to clientdataset1.fieldscount-1 do
copyarray[i]:=clientdataset1.fields.fields[i].vulue;
如果不设定长度,则在COPY 是会出现非法操作
问题是我要对数组赋值,如下:
for i:=0 to clientdataset1.fieldscount-1 do
copyarray[i]:=clientdataset1.fields.fields[i].vulue;
如果不设定长度,则在COPY 是会出现非法操作
不同意你的观点.作为参数的动态数组不是不用设长度(你怎么直到别人不用),而是不能设长度.
劝你也这么干吧.
DELPHI3以下不支持动态数组!
var S:variant;iCount:Integer;
begin
iCount:=Self.Table1.Fields.Count;
S:=VarArrayCreate([0,iCount-1],varVariant);
for iCount:=0 to Self.Table1.fields.Count-1 do
S[iCount]:=Self.Table1.Fields[iCount].Value;end;