这段代码通不过?
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
     s[1]:='a';
end;

解决方案 »

  1.   

    //修改为
    procedure TForm1.Button1Click(Sender: TObject);
    var s:string;
    begin
         setlength(s,1);
         s[1]:='a';
    end;
      

  2.   

    通过,检查别的地方
    procedure TForm1.Button1Click(Sender: TObject);
    var s:string;
    begin
       s[1]:='a';
    end;
      

  3.   

    不好意思我发错了!
    应该这样
    var s:string[20];或var s:string;
    begin
         //第二中方法setlength(s,10);
         s[1]:='a';
    end;
    问题是你没有设置长度,如果不s:string[20]的话他就是动态数珠,必须setlength
      

  4.   

    谢谢boz(波),10f(凌风),
    boz(波)方法调试通过,能说为什么吗?
    我用d5