执行TDataSet的Next方法时访问冲突错误
Access violation error when executing TDataSet's Next method
当希望将指针移到下一条记录时,会显示一条错误消息:
Access violation at address 004070E2 in module 'main_p.exe'. Write of
address 00000000
有什么办法解决这个问题吗?
var
i: integer;
begin
with dmData.dmEventInfo do
begin
tblEventinfo.Open;
i := 0;
while NOT tblEventinfo.Eof do
begin
arrNames[i] := tblEventinfo['bandname'];
tblEventinfo.Next;
i := i + 1;
end;
end;
end;
您没有显示 arrNames
数组的声明,但我认为问题出在 Length
.
var
i: integer; arrNames : array of string;
begin
SetLength(arrNames , tblEventinfo.RecordCount);
i := 0;
while NOT tblEventinfo.Eof do
begin
arrNames[i] := tblEventinfobandname.Value;
tblEventinfo.Next;
Inc(I);
end;
end;
当希望将指针移到下一条记录时,会显示一条错误消息:
Access violation at address 004070E2 in module 'main_p.exe'. Write of address 00000000
有什么办法解决这个问题吗?
var
i: integer;
begin
with dmData.dmEventInfo do
begin
tblEventinfo.Open;
i := 0;
while NOT tblEventinfo.Eof do
begin
arrNames[i] := tblEventinfo['bandname'];
tblEventinfo.Next;
i := i + 1;
end;
end;
end;
您没有显示 arrNames
数组的声明,但我认为问题出在 Length
.
var
i: integer; arrNames : array of string;
begin
SetLength(arrNames , tblEventinfo.RecordCount);
i := 0;
while NOT tblEventinfo.Eof do
begin
arrNames[i] := tblEventinfobandname.Value;
tblEventinfo.Next;
Inc(I);
end;
end;