procedure TForm1.Button1Click(Sender: TObject);
  var
    s1:TStrings;
    i:integer;
begin
  i:=s1.Add('aa');
  s1.SaveToFile('c:\a.txt');
end;
end.
为什么这样会出现错误?

解决方案 »

  1.   

    而且i:=sl.Add('aa');是什么意思?
      

  2.   

    不如换成TStringList吧procedure TForm1.Button1Click(Sender: TObject);
      var
        s1:TStringList;
    begin
      sl := TStringList.Create;
      s1.Add('aa');
      s1.SaveToFile('c:\a.txt');
      sl.Free;
    end;
      

  3.   

    因为你在程序中用到的add和savefileto方法中用到了TStrings类中的抽象虚方法,而这些抽象虚方法在这个类中没有实现的代码。这应该是delphi本身不严谨,有时候在他的vcl中父类引用了子类,所以这个问题不在你,用TStrings的子类就行了,任何一个子类都行,不过前提是他有这两个方法。多看看源码,对提高很有帮助。呵呵