我定义了一个动态数组:  TArrString = array of string;我在给数组每一列赋值:
    for i:=0 to 20 do
      myIndexString[i]:='aaa';
运行出错!如何解决? 请高手指点,谢谢!

解决方案 »

  1.   

    你要先给出数组的长度
    setlength(myIndexString,10);
    for i:=0 to 20 do
          myIndexString[i]:='aaa';
      

  2.   

    是啊,放着现成的不用?另外,如果不想用你应该在使用动态数组前给其一个长度SetLength!
      

  3.   

    TStringList   TMemo  ....很多都可以
      

  4.   

    setlength(myIndexString,10);
    for i:=0 to 20 do
          myIndexString[i]:='aaa';???????????
    setlength(myIndexString,20);
    for i:=0 to 20 do
          myIndexString[i]:='aaa';
      

  5.   

    setlength(myIndexString,10);
    for i:=0 to 20 do
          myIndexString[i]:='aaa';???????????
    setlength(myIndexString,20);
    for i:=0 to 20 do////////////////////////////不越界吗? 0..19
          myIndexString[i]:='aaa';
    ?????????????????????????????????????????????????????????????????
      

  6.   

    用:
    TStringList
    TStringList.insertObject(index, string, object);
      

  7.   

    建议用TStringList
    一定要用动态数组的话也要先SetLength
      

  8.   

    你要先给出数组的长度
    setlength(myIndexString,X);
      

  9.   

    procedure TForm1.Button1Click(Sender: TObject);
     var  myindexstring:array[0..20]of string;
          i:integer;
    begin
        for i:=0 to 20 do
          myIndexString[i]:='aaa';end;