我用一个TStringList来存储字母,汉字字符串触发事件中的代码    myTStringList.Add(str1);//添加字母
    myTStringList.Add(str2);//添加汉字我遍历myTStringList时,所有的字母字符串都少了第一个字母,汉字正常比如我已经存储了 'ectt3', '张三','ertr2', '李四'读出来的stringList :'ctt3', '张三','rtr2', '李四'我改用append方法,也是这样怎么回事呢

解决方案 »

  1.   

    myTStringList[i];
    ????也有问题。。
      

  2.   

    D几?
    是否全部都是string?有没有混用string和widestring?
      

  3.   

    我的Str1是string类型
    Str2是CheckListEdit.Text这也应该是String阿
      

  4.   


    debug时,Str1,str2的值都是正确的遍历出来就不对了MyStringList.ValueFromIndex[i]
      

  5.   


    换了个方法正常了
    不知道为什么MyStringList.Strings[i]
      

  6.   

    用pointer强制转换去取一下stringlist的指针,然后添加的时候断了在CPU窗口跳转到那块内存看是怎么添加的,说不定就是覆盖了
    我这D6测试一切正常,你新开个工程试试
      

  7.   


    p:pointerpointer := ^mystringlist Debgu的时候ctrl+左键点pointer或者view->watches都能看指针的值mystringlist.add()<==这行前面空白处点左键,出来小红点运行到这就会断view->debugwindows->CPU,打开,下面那块是内存,右键或者ctrl+G能跳转的,自己玩玩看