有如下代码:procedure TForm1.FormCreate(Sender: TObject);
var
temp:string;
begin
temp:='sadhfajkshfasdkjhfasjkdhfkjadskjfsadklfjsdakljfskdljfksldjfksldjfksladjfklsadjfksladjfklsadjflkasdjfklasdjfklsadjfksldajfksladjfksladjfklsadnfcm,zxnvksdlanjflksadnfklsadnfksaldfksaldjfklsadjfksladfjksdlfjskldasdhfjkasdhfjkashdajkshdkashfksahdfjksahfjkashfjksahdfjkshdfcjksdhcjkshdbkcjhsdkjhcsjkdhcjksdhjkshdfkjsdhfskjdhfjksdhfjksdahcjksdhcjkshdfjkshdjksdhfcjksdhfcjksdhfcjksdhfcjksdh';
temp:=temp+temp+temp+temp+temp+temp+temp;
end;end.编译时出现如下错误:
[Error] Unit1.pas(29): String literals may have at most 255 elements请问各位高手该如何解决
其中
工程选项的编译中:huge string 已打勾
加入{$H+} 错误依旧
将string 改为widestring 错误依旧肯请各位高手了!

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);
    var
      temp: string;
    begin
      temp :=
    'sadhfajkshfasdkjhfasjkdhfkjadskjfsadklfjsdakljfskdljfksldjfksldjfksladjfklsa' +
    'djfksladjfklsadjflkasdjfklasdjfklsadjfksldajfksladjfksladjfklsadnfcm,zxnvksd' +
    'lanjflksadnfklsadnfksaldfksaldjfklsadjfksladfjksdlfjskldasdhfjkasdhfjkashdaj' +
    'kshdkashfksahdfjksahfjkashfjksahdfjkshdfcjksdhcjkshdbkcjhsdkjhcsjkdhcjksdhjk' +
    'shdfkjsdhfskjdhfjksdhfjksdahcjksdhcjkshdfjkshdjksdhfcjksdhfcjksdhfcjksdhfcjk' +
    'sdh';
      temp := temp+temp+temp+temp+temp+temp+temp;
    end;
      

  2.   

    楼主!
    报错不是String长度问题.
    问题是:DELPHI 代码编辑器,对字段串支持长度,最长255。跟数据类型没关系。
      

  3.   

    一般要养成好的编码习惯,超过Right Margin(代码编辑器中右边的那条竖线)的代码就换行(字符串就用连接号换行联接),首先是看起来清晰明了,也省却很多麻烦(包括楼主所说的这种错误)
      

  4.   

    赋值不会出错:china_jian(怀剑) ( ) 信誉:100  2004-01-03 14:17:00  得分:0 
      楼主!
    报错不是String长度问题.
    问题是:DELPHI 代码编辑器,对字段串支持长度,最长255。跟数据类型没关系。
      

  5.   

    是單行代碼不能超過255,你直接在對象查看器裡面寫commandText的時候也是這樣的。