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 错误依旧
肯请各位高手了!
21 个解决方案
#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;
var
temp: string;
begin
temp :=
'sadhfajkshfasdkjhfasjkdhfkjadskjfsadklfjsdakljfskdljfksldjfksldjfksladjfklsa' +
'djfksladjfklsadjflkasdjfklasdjfklsadjfksldajfksladjfksladjfklsadnfcm,zxnvksd' +
'lanjflksadnfklsadnfksaldfksaldjfklsadjfksladfjksdlfjskldasdhfjkasdhfjkashdaj' +
'kshdkashfksahdfjksahfjkashfjksahdfjkshdfcjksdhcjkshdbkcjhsdkjhcsjkdhcjksdhjk' +
'shdfkjsdhfskjdhfjksdhfjksdahcjksdhcjkshdfjkshdjksdhfcjksdhfcjksdhfcjksdhfcjk' +
'sdh';
temp := temp+temp+temp+temp+temp+temp+temp;
end;
#2
解决了!
高手,能解释一下原因吗?
谢谢
高手,能解释一下原因吗?
谢谢
#3
一次性将字符常量定义超过256字节的确不好办呀。你只能采用楼上的用+连接起来的方法了。
#4
楼主!
报错不是String长度问题.
问题是:DELPHI 代码编辑器,对字段串支持长度,最长255。跟数据类型没关系。
报错不是String长度问题.
问题是:DELPHI 代码编辑器,对字段串支持长度,最长255。跟数据类型没关系。
#5
同意,字符串长度超过255就用字符串相加的办法解决
#6
一般要养成好的编码习惯,超过Right Margin(代码编辑器中右边的那条竖线)的代码就换行(字符串就用连接号换行联接),首先是看起来清晰明了,也省却很多麻烦(包括楼主所说的这种错误)
#7
谢谢
#8
那如果是从数据库中取出的值超过255位怎么付给一个变量?
#9
赋值不会出错:
china_jian(怀剑) ( ) 信誉:100 2004-01-03 14:17:00 得分:0
楼主!
报错不是String长度问题.
问题是:DELPHI 代码编辑器,对字段串支持长度,最长255。跟数据类型没关系。
china_jian(怀剑) ( ) 信誉:100 2004-01-03 14:17:00 得分:0
楼主!
报错不是String长度问题.
问题是:DELPHI 代码编辑器,对字段串支持长度,最长255。跟数据类型没关系。
#10
注意,是对“代码编辑器”有这种问题
#11
是單行代碼不能超過255,你直接在對象查看器裡面寫commandText的時候也是這樣的。
#12
学习,up!!
#13
我想结贴,不只如何操作。
#14
不行就用WideString
#15
点击管理,在右侧输入密码,在每个人的回复后面输入相应的分数,按结帖就可以了。
#16
没有输入密码的框
也没看见结帖的按钮
也没看见结帖的按钮
#17
呵
#18
学习了,接分
#19
没试过这种情况,见识了。
#20
&呵
#21
你看到的这个帖子,最上面有如下连接:
回复 | 推荐 | 收藏 | 专题 | 公告 | 管理 | 保存 | 回复通知 | 关闭窗口
点“管理”,再出来的页面才要你输入密码和给谁多少分,都输完了再点击“给分”
回复 | 推荐 | 收藏 | 专题 | 公告 | 管理 | 保存 | 回复通知 | 关闭窗口
点“管理”,再出来的页面才要你输入密码和给谁多少分,都输完了再点击“给分”
#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;
var
temp: string;
begin
temp :=
'sadhfajkshfasdkjhfasjkdhfkjadskjfsadklfjsdakljfskdljfksldjfksldjfksladjfklsa' +
'djfksladjfklsadjflkasdjfklasdjfklsadjfksldajfksladjfksladjfklsadnfcm,zxnvksd' +
'lanjflksadnfklsadnfksaldfksaldjfklsadjfksladfjksdlfjskldasdhfjkasdhfjkashdaj' +
'kshdkashfksahdfjksahfjkashfjksahdfjkshdfcjksdhcjkshdbkcjhsdkjhcsjkdhcjksdhjk' +
'shdfkjsdhfskjdhfjksdhfjksdahcjksdhcjkshdfjkshdjksdhfcjksdhfcjksdhfcjksdhfcjk' +
'sdh';
temp := temp+temp+temp+temp+temp+temp+temp;
end;
#2
解决了!
高手,能解释一下原因吗?
谢谢
高手,能解释一下原因吗?
谢谢
#3
一次性将字符常量定义超过256字节的确不好办呀。你只能采用楼上的用+连接起来的方法了。
#4
楼主!
报错不是String长度问题.
问题是:DELPHI 代码编辑器,对字段串支持长度,最长255。跟数据类型没关系。
报错不是String长度问题.
问题是:DELPHI 代码编辑器,对字段串支持长度,最长255。跟数据类型没关系。
#5
同意,字符串长度超过255就用字符串相加的办法解决
#6
一般要养成好的编码习惯,超过Right Margin(代码编辑器中右边的那条竖线)的代码就换行(字符串就用连接号换行联接),首先是看起来清晰明了,也省却很多麻烦(包括楼主所说的这种错误)
#7
谢谢
#8
那如果是从数据库中取出的值超过255位怎么付给一个变量?
#9
赋值不会出错:
china_jian(怀剑) ( ) 信誉:100 2004-01-03 14:17:00 得分:0
楼主!
报错不是String长度问题.
问题是:DELPHI 代码编辑器,对字段串支持长度,最长255。跟数据类型没关系。
china_jian(怀剑) ( ) 信誉:100 2004-01-03 14:17:00 得分:0
楼主!
报错不是String长度问题.
问题是:DELPHI 代码编辑器,对字段串支持长度,最长255。跟数据类型没关系。
#10
注意,是对“代码编辑器”有这种问题
#11
是單行代碼不能超過255,你直接在對象查看器裡面寫commandText的時候也是這樣的。
#12
学习,up!!
#13
我想结贴,不只如何操作。
#14
不行就用WideString
#15
点击管理,在右侧输入密码,在每个人的回复后面输入相应的分数,按结帖就可以了。
#16
没有输入密码的框
也没看见结帖的按钮
也没看见结帖的按钮
#17
呵
#18
学习了,接分
#19
没试过这种情况,见识了。
#20
&呵
#21
你看到的这个帖子,最上面有如下连接:
回复 | 推荐 | 收藏 | 专题 | 公告 | 管理 | 保存 | 回复通知 | 关闭窗口
点“管理”,再出来的页面才要你输入密码和给谁多少分,都输完了再点击“给分”
回复 | 推荐 | 收藏 | 专题 | 公告 | 管理 | 保存 | 回复通知 | 关闭窗口
点“管理”,再出来的页面才要你输入密码和给谁多少分,都输完了再点击“给分”