Delphi中一次调试,同处定义,同为整型的变量i 和 count一个有值,一个却说“Variable 'count' inaccessible here due to optimization”。

archy 2001-03-22 07:55:00
1.Delphi中一次调试,同处定义,同为整型的变量i 和 count一个有值,一个却说“Variable 'count' inaccessible here due to optimization”。2。有时点后无提示,很怪(如form1.btn1click)。3.delphi中的变量默认值,integer是0,char是#0,string是''吗?4.string[1]和char有何区别呢?哪个省内存?5.memo框中读回车和换行(我只要英文字符,所以想把回车和换行过滤掉),是if x<>#13 and x<>#10吗?好象不对。请各位指教。谢谢!!
...全文
237 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
archy 2001-03-22
  • 打赏
  • 举报
回复
5.有简便的方法么?
archy 2001-03-22
  • 打赏
  • 举报
回复
1.我的i 和 count 都做为for i(count) to n do 用
2.continue plz(我是指有些明明对的情况下点后提示不出来。)
5.若我要一个一个读出MEMO的字符,
for i:=0 to lines.count-1 do
begin
str:=line[i];
n:=length(line[i])
end;
for j:=1 to n do charactor[j]:=str[j] ???? //type charactor=array [1..511] of char;
//str:string;
月光 2001-03-22
  • 打赏
  • 举报
回复
1.由于优化,变量名<NAME>在这里不能存取
count 不是声明常量的吗?
2.是不是忘了将btn1的onclick事件选上form1.btn1click
3.integer好像不是默认为0
5.用memo1.lines[i]来读取第i行,表达式要加上()号。
猛禽 2001-03-22
  • 打赏
  • 举报
回复
1.同前面几位
2.把.删除,再点一下,或CTRL+空格(要先改掉输入法的热键)
3.最好不要相信默认值,自已设初值较可靠
4.String会大些
5.用MEMO的LINES属性就不用处理回车了。
laza 2001-03-22
  • 打赏
  • 举报
回复
1. 是不是你想更改循环变量了。作为循环计数的变量是在循环不能用作它途,因为win32对循环进行了优化。你不能改它。

2.button1.click;
3.delphi的全局变量不用初始化,delphi编译器自动赋初值。局部变量视情况而定,char、string是自己初始化,不需要你置空,除非你有特殊需要。
4.一样的,都是字符了。字符占内存是一样的。string 是自管理的,他是经常被用的。
省内存不计较这个,看你的程序了。
5.if (x<>#13)and(x<>#10)
lastshrill 2001-03-22
  • 打赏
  • 举报
回复
1优化就是说,它没参与编译
lastshrill 2001-03-22
  • 打赏
  • 举报
回复
1优化就是说,它没参与编译
lastshrill 2001-03-22
  • 打赏
  • 举报
回复
1.可能是count得到值后没被使用,编译器把它优化了
3.我感觉integer是随机的

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧