FLIST为stringlist,赋值为
FList.AddObject( AItem.Code + '(' + AItem.Name + ')', AItem )FList[0] 的值为 '0000(山东总部)'
FList.Objects[0]).Code应该为‘0000’,但是它的值却为空,为什么?

解决方案 »

  1.   

    写错了,是
    TAItem(FList.Objects[nIndex]).Code 是 ''
      

  2.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
    EditA,EditB: TEdit;
    FLIST:tstringlist;
    begin
      EditA:=TEdit.Create(nil);
      EditA.Text:='Mya';
      EditA.Tag:=000;  EditB:=TEdit.Create(nil);
      EditB.Text:='Myb';
      Editb.Tag:=001;  FLIST:=tstringlist.Create;
      FLIST.AddObject(inttostr(EditA.tag)+'('+EditA.Name+')',EditA);
      FLIST.AddObject(inttostr(Editb.tag)+'('+Editb.Name+')',Editb);
      Label1.Caption:=inttostr(TEdit(FLIST.Objects[0]).tag);
      if Assigned(flist) then flist.Free;
    end;
    结果为:0
      

  3.   

    多谢GDTOPONE回答。以你举的例子来说,如果Label1.Caption 为'' , 是怎么回事呢?
      

  4.   

    首先你给的代码太少,很难看出问题,第二如果你的AItem.Code是连数据表的,就要检查一下数据表中的值是否为NULL,
    如果是,返回的值就肯定为空.