对于
Content:string;//分配4个字节,指针类型吧!
当对Content负值时,由Delphi在堆中自动分配所需字符串的空间

解决方案 »

  1.   

    ShortString才不会吧!
    string[数字]:就是ShortString
      

  2.   

    new(p),并不是分配多少了给string的变量把. 
    对于string变量,我一直认为只要不超过规定长度. 就可以有多长啊
      

  3.   

    还是不懂,string这类变量一旦放在record(结构)中,那么内存分配就不是很清楚了,就像一个指向这个record的指针,new一下具体应该怎么分配内存?
    请大侠给我详细讲讲,谢谢。
      

  4.   

    应该是只分配ShortString
    ================================================================曾经有一碗热辣辣的烧猪手面放在我面前,我没有珍惜,等到晾凉了之后才后悔莫及。
      

  5.   

    string就是一个record的指针,而不是就像
    string的内存分配由系统自己管理
      

  6.   

    那么string实际内存结构是什么样的呢?
      

  7.   

    这情况content应该没有分配内存不信的话.
    ShowMessage(IntToStr(Length(P^.Content)));
    只有你对P^.Content赋值了才会开始分配内存,不过也可能分配了0的空间,如
    P^.Content:='';