type
TMyRecord=record
ID : integer; //像素点
Vx: real; // datetime;
Vy: real; // Y实际值
end;
var pixv:Array[0..1024] of TMyRecord;
使用:
with pixv[n] do
begin
ID:=Sx;
Vx:=Vx;
Vy:=Vy;
end;
一切ok
但是
var pixv:Array of TMyRecord;
在使用时出错?
why????????///
回答正确给全分!
TMyRecord=record
ID : integer; //像素点
Vx: real; // datetime;
Vy: real; // Y实际值
end;
var pixv:Array[0..1024] of TMyRecord;
使用:
with pixv[n] do
begin
ID:=Sx;
Vx:=Vx;
Vy:=Vy;
end;
一切ok
但是
var pixv:Array of TMyRecord;
在使用时出错?
why????????///
回答正确给全分!
var pixv: array of TMyRecord;
的声明,使用前必须分配SetLength(pixv, x); 然后才可以pixv[n] //n < x
采用
SetLength(TMyRecord, size);
分配了再能使用,用完了还要记得释放哦! (pixv := nil)
TMyRecord=record
ID : integer; //像素点
Vx: real; // datetime;
Vy: real; // Y实际值
end;procedure TForm1.Button3Click(Sender: TObject);
var
MyRec: array of TMyRecord;
MyRecord: array[0..1024] of TMyRecord;
i: Integer;
begin
//静态赋值 数组长度为1025
for i := Low(MyRecord) to High(MyRecord) do
with MyRecord[i] do
begin
ID := i;
Vx := i;
Vy := i;
end;//动态设置长度并赋值 数组长度为1025
SetLength(MyRec, 1025);
for i := Low(MyRec) to High(MyRec) do
with MyRec[i] do
begin
ID := i;
Vx := i;
Vy := i;
end;
end;
如果是我,我就用TList来管理