下面这段代码哪里错了啊?
为什么deltalist中没有数据/
var
deltalist:TStringList;
i:integer;
begin
deltalist:=TStringList.Create;
deltalist.LoadFromStream(tempstream);
if deltalist.Count>0 then
begin
for i:=0 to deltalist.Count-1 do
begin
StringGrid1.Cells[i,0]:=IntToStr(Tuser(deltalist.Objects[i]).ID);
StringGrid1.Cells[i,1]:=Tuser(deltalist.Objects[i]).username;
StringGrid1.Cells[i,2]:=Tuser(deltalist.Objects[i]).pwd;
end;
end;
end;
为什么deltalist中没有数据/
var
deltalist:TStringList;
i:integer;
begin
deltalist:=TStringList.Create;
deltalist.LoadFromStream(tempstream);
if deltalist.Count>0 then
begin
for i:=0 to deltalist.Count-1 do
begin
StringGrid1.Cells[i,0]:=IntToStr(Tuser(deltalist.Objects[i]).ID);
StringGrid1.Cells[i,1]:=Tuser(deltalist.Objects[i]).username;
StringGrid1.Cells[i,2]:=Tuser(deltalist.Objects[i]).pwd;
end;
end;
end;
StringGrid1.Cells[i,0]:=IntToStr(Tuser(deltalist.Objects[i]).ID);
StringGrid1.Cells[i,1]:=Tuser(deltalist.Objects[i]).username;
StringGrid1.Cells[i,2]:=Tuser(deltalist.Objects[i]).pwd;
这里出现问题‘access violation at address’
我通常的方法是
StringGrid1.Cells[i,0]:= IntToStr(i) + ',0';//IntToStr(Tuser(deltalist.Objects[i]).ID);
StringGrid1.Cells[i,1]:= IntToStr(i) + ',1';//Tuser(deltalist.Objects[i]).username;
StringGrid1.Cells[i,2]:= IntToStr(i) + ',2';//Tuser(deltalist.Objects[i]).pwd;
看看排除Tuser结构及里面的内容之外有没有问题再说。如果没有问题那就是结构或者赋值的问题了