procedure TForm1.btn1Click(Sender: TObject);
var s:TStrings;
  t : String;
begin
  t:='wer';
  s.Clear;
  s.Add(t);
  s.Text; //执行后text仍为空
end;

解决方案 »

  1.   

    procedure TForm1.btn1Click(Sender: TObject);
    var s:TStrings;
      t : String;
    begin
      s := TStringList.Create;
      t:='wer';
      s.Clear;
      s.Add(t);
      s.Text; //执行后text仍为空
    end;
      

  2.   

    应该是你传入的时候并没有Create
    你没有实例化s ,如上解决
      

  3.   

    楼上的正解
    s := TStringList.Create;
    TStringList 是要用户手动创建的,var 
     s:TStrings;
     s 为地址指针,
    s := TStringList.Create;创建后,你才可以调用方法 Add
    当s 没有创建,这个指针s + 方法add的位移量得到的地址肯定是不是方法Add的物理地址(Add方法在内存中还不存在呢),也就产生的经典地址读错误
      

  4.   

    使用s前,没有创建阿。加上一句create就行了,
    不过不要忘记在不用的时候把它free了。
      

  5.   

    procedure TForm1.btn1Click(Sender: TObject);
    var s:TStrings;
      t : String;
    begin
      s := TStringList.Create;
      t:='wer';
      s.Clear;
      s.Add(t);
    end;
    关闭的时候要:
    s.free;
      

  6.   

    procedure TForm1.btn1Click(Sender: TObject);
    var s:TStrings;
      t : String;
    begin
    try
      s := TStringList.Create;
      t:='wer';
      s.Clear;
      s.Add(t);
    finally
      s.free;
    end;
    end;
      

  7.   

    TString对象根本就没有建立,不出错才怪!
      

  8.   

    s := TStringList.Create;'''''s.free;