首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi不编译某些行,不执行某些语句

2013-06-26 
求助:delphi不编译某些行,不执行某些语句各位高手,本人碰到了一个非常奇怪的问题,跪求帮助。vara1:Doubleb

求助:delphi不编译某些行,不执行某些语句
各位高手,本人碰到了一个非常奇怪的问题,跪求帮助。


var
a1:Double;
begin
  ......
  a1:= f_dm.ADOPublic.fieldbyname('cbje').AsFloat;
  ......
end;

在这里,执行完A1的赋值后,跟踪变量值,发现无论 f_dm.ADOPublic.fieldbyname('cbje').AsFloat 等于多少,a1永远是0。

之后将赋值改为 a1:=200;  运行后发现a1依然是0。
==============================================================
奇怪的是我加一个变量,如下

var
a1,a2:Double;
begin
  ......
  a2:= f_dm.ADOPublic.fieldbyname('cbje').AsFloat;
  a1:=a2;
  ......
end;

先用A2获取值,然后赋值给a1,这样就可以正确执行了。百思不得其解。
=============================================================

刚才,我又把代码改为如下:

var
a1:Double;
begin
  a1:=0;
  a1:= f_dm.ADOPublic.fieldbyname('cbje').AsFloat;  
end;

然后进行编译,奇怪的事又发生了,第一句 a1:=0;  根本就没有编译!!前面没有蓝色的小圆点。

也曾经想过是否名称有冲突,换过绝对不会重复的变量名,依然是如此。
这个破问题折腾了快2天了,实在不知道哪里的问题??




[解决办法]
勾掉Project->Options->Complier->Optimization的钩试下。
[解决办法]
有可能是有非法的换行符!
俺原先也遇到过这个问题!
从QQ上复制一段代码来执行出现的那种情况!
复制到记事本里看看!
小黑框去掉就可以了!
[解决办法]
我也有遇到过这种情况,百思不得其解啊。但是我把后面语句删除,再编译,之后再加上就可以了
[解决办法]
var
a1:Double;
begin
  a1:=0;
  a1:= f_dm.ADOPublic.fieldbyname('cbje').AsFloat;  
end;

a1:=0;这句是废代码,被优化掉了.在编译选项里去掉优化选项即可.
并且这几行代码里你整个a1都是没用的变量,也会被优化掉.

热点排行