为什么不能赋值 ?(50)

Discussion in 'Object Pascal' started by zzbubble, Sep 15, 2010.

  1. zz

    zzbubble Member

    Apr 1, 2015
    [​IMG]为什么不能赋值了?DEBUG时看到的有值,但就是赋不进去下面两行都不行cBqje := DBNumberEditEh3.Value;cBqje := DBGridEh2.SumList.SumCollection.Items[2].SumValue;但这一行可以赋值 cXsje := DBGridEh2.SumList.SumCollection.Items[3].SumValue;
     
  2. zz

    zzbubble Member

    Apr 1, 2015
    找到问题原因了:是delphi编译优化造成的。两个赋值cBqje := DBNumberEditEh3.Value;cBqje := DBGridEh2.SumList.SumCollection.Items[2].SumValue;第一个赋值后,cBqje没有被使用,然后紧接着又给这个变量赋值,这肯能会导致第一个赋值被优化掉,另外,你第二个赋值时候,如果你的程序中再没有使用过cBqje,则第二个赋值也可能被优化掉
     
  3. sz

    szhcracker Member

    Apr 1, 2015
  4. bi

    bingyuanaike Member

    Apr 1, 2015
    有意思.呵呵.但是单步到这的时候可能会有值.
     
  5. zz

    zzbubble Member

    Apr 1, 2015
    多人接受答案了。