TList的使用问题 ( 积分: 50 )

  • 主题发起人 主题发起人 handsome1234
  • 开始时间 开始时间
H

handsome1234

Unregistered / Unconfirmed
GUEST, unregistred user!
TList的使用问题
MyList,CKlist: TList
全局变量
一个函数(函数参数不传递MyList)里赋值MyList :
New(ARecord);
if (Int_Orig-Int_Count)=0 then
ARecord^.B_IndexDrop:=true
else
ARecord^.B_IndexDrop:=False

ARecord^.IncNumber:=IncNumber_Temp;
ARecord^.Count :=Int_Orig-Int_Count;
MyList.Add(ARecord);
我debug看ARecord^.B_IndexDrop和 ARecord^.IncNumber是正确的数据,然后加到MyList里
但是在如下的函数中找到刚才的数值ARecord^.IncNumber是正确的但是ARecord^.B_IndexDrop却不正确,理由何在?

for B := 0 to (MyList.Count - 1) do
begin
ARecord := MyList.Items;
if (ARecord^.IncNumber=Table_TempCk.FieldByName('A0').AsInteger) then break;
end;
if ARecord^.B_IndexDrop=true then
begin

如何能直接直观的看到MyList里的数据??
MyList.Items[10].B_IndexDrop^这种在watch里看不了.
 
TList的使用问题
MyList,CKlist: TList
全局变量
一个函数(函数参数不传递MyList)里赋值MyList :
New(ARecord);
if (Int_Orig-Int_Count)=0 then
ARecord^.B_IndexDrop:=true
else
ARecord^.B_IndexDrop:=False

ARecord^.IncNumber:=IncNumber_Temp;
ARecord^.Count :=Int_Orig-Int_Count;
MyList.Add(ARecord);
我debug看ARecord^.B_IndexDrop和 ARecord^.IncNumber是正确的数据,然后加到MyList里
但是在如下的函数中找到刚才的数值ARecord^.IncNumber是正确的但是ARecord^.B_IndexDrop却不正确,理由何在?

for B := 0 to (MyList.Count - 1) do
begin
ARecord := MyList.Items;
if (ARecord^.IncNumber=Table_TempCk.FieldByName('A0').AsInteger) then break;
end;
if ARecord^.B_IndexDrop=true then
begin

如何能直接直观的看到MyList里的数据??
MyList.Items[10].B_IndexDrop^这种在watch里看不了.
 
要转换类型的吧,
将ARecord := MyList.Items;
写成ARecord :=PARecord(MyList.Items);PARecord是你定义的指针类型。
 
帮顶

--------签名档---------------------------

惊爆开源站

http://www.source520.com

80G源码电子书免费免注册下载,大量精辟技术文档库随时更新
 
楼主把ARecord的结构帖出来啊
 
同意楼上
你还是给出ARecord的结构吧。
 
是不是MyList.Add(ARecord);后把ARecord dispose掉了?
 
多人接受答案了。
 
后退
顶部