不可能!
你试试这个:
procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
sa:array[0..9]of byte;
 Begin
  for a:=0 to 9 do
  Begin
   sa[a]:=a;
    memo1.Lines.add(inttostr(a));
  End; 
End;

解决方案 »

  1.   

    我是过了,改为 sa[a]:=a, 可以,
    或者加入b:=a;也可以,
     也就是说吧控制变量户值给其他变量后就可以;
    是我的delphi6有问题? 还是delphi6的监视窗口有问题?
      

  2.   

    或许这是d6的问题吧,我总觉得d6的推出太快了,还是习惯用d5
      

  3.   

    发现d6  bug  是不是有奖啊 ^&^
      

  4.   

    这样就对了啦
    procedure TForm1.Button1Click(Sender: TObject);
    var a:integer;
    sa:array[0..9]of byte;
     Begin
      memo1.Lines.Clear;/////加这句
      for a:=0 to 9 do
      Begin
       sa[a]:=a;
        memo1.Lines.add(inttostr(a));
      End; end;
      

  5.   

    我的感觉就是你的操作有失误,我从来没有发现这个问题!你可以想想,如果人家的监视器连这个都高不定的话,那还有人相信delphi的安全吗?
      

  6.   

    这是编译时的优化造成的。
    你把编译选项中的Optimization关掉,就会从0-9这样变化了。
      

  7.   

    我也想亲爱d6应该不会存在这种bug,
    对,他不影响结果;
    优化  的说法很有道理,谢谢各位!