读书人

delphi2010上发生的关于数组的一个奇怪

发布时间: 2012-08-27 21:21:56 作者: rapoo

delphi2010下发生的关于数组的一个奇怪问题 请大家帮忙分析一下
delphi2010下发生的关于数组的一个奇怪问题 请大家帮忙分析一下




setlength 1 以后,数组的长度应该是1吧,可为什么还显示为0呢?


[解决办法]
由于数组默认下标起始为0,而函数high返回的是数组下标的最大值(而不是长度,莫混了!),当你设置它的长度为1时,最大和最小的下标都为0,它自然就显示 0 了。
[解决办法]
多线程?
[解决办法]
因为不知道你具体的环境,没法分析(或做个demo让我看看?190814570@qq.com)。我这里没你说的问题出现:

Delphi(Pascal) code
//测试环境:xp + delphi2010procedure TForm1.Button1Click(Sender: TObject);var f:array of TForm;begin  setlength(f,3);  showmessage(inttostr(high(f)));//显示 2  showmessage(inttostr(length(f)));//显示 3end;
[解决办法]
鼠标指向的提示不一定是你想要的值

比如一个integer变量,只是赋初值,后面若没有用到就会被优化掉一样
看到的值可能是0或者没有显示;这种问题没必要深究,用showmessage();显示出来是多少就是多少

读书人网 >.NET

热点推荐