我想用 t_s : TStrings 填充一个L1: TList.
其中,t_s 的值每次都不一样,L1.add(t_s)填充完后我发现,L1的每一个值是最后一次 t_s 中的值,是不是 L1只存放地址。当t_s的值发生改变也就只有最后一次的值了。可我想把每次的值都填进去,以备遍历使用,该怎么办啊 ? 

解决方案 »

  1.   

    而我又必须使用 TStrings 或 TStringList
      

  2.   


    var
      Str1, Str2: TStrings;
    begin
      Str1 := TStringList.Create;
      Str2 := TStringList.Create;  Str1.Add('1');
      Str1.Add('2');  Str2.Assign(Str1); // Str2 保存  Str1[1] := '11';  Str1.Free;
      Str2.Free;
    end;
      

  3.   

    是的,所以TList中的TStrings的值都是一样的,就是你最后一次更新的值,要解决这个问题可以像楼上那样。