我在使用string 变量时,出现了255个字符的限制,但是编译器里已经设为huge 了
我是这么定义和使用的:
procedure TForm1.Button1Click(Sender: TObject);
var
 ss:string;
 
begin
   ss:='...';//此处省略具体字串内容
end;报的错是:String literals may have at most 255 elements但是我用下面的代码测试,表明我使用了ansistring
{$ifopt H+}
ShowMessage('H+');
{$else}
ShowMessage('H-');
{$endif}
为什么呀?

解决方案 »

  1.   

    可能编译器内部都是转换成ansi的吧,毕竟他们推荐用ansi的。
      

  2.   

    delphi的字符串常量不能超过255,变量可以,你用用'+'号
    如:
    s:='qweqweqwe.....'
      +'asqweqweqw...'
      +'aswaqwasw...';
      

  3.   

    ss:='...';//此处省略具体字串内容 把省略的内容分段使用,如
    ss := '...' + '...' + '...';
      

  4.   

    var
     ss: string;
    begin
      ss :=
    '0123456789012345678901234567890123456789012345678901234567890123456789' +
    '0123456789012345678901234567890123456789012345678901234567890123456789' +
    '0123456789012345678901234567890123456789012345678901234567890123456789' +
    '01234567890123456789012345678901234567890123456789';
    //同志该换行了...(此处省略100个感叹号)
    end;
      

  5.   

    要么用拆分开来,然后用+连接
    要么使用WideString
      

  6.   

    delphi的string支持的长度是无限长的,除非是shortstring?是你一行写得太多了,楼上的是正解.