我得到了一个优化错误,不知道为什么请查看我的代码 该变量仅在此处一次使用(NyitIdo_oraS和NyitIdo_percS) 这些var没问题。 ZarIdo_oraS和ZarIdo_percS Edit1.text:= 06:00-22:00
NyitIdo:=Edit1.Text;
NyitOraC1 := NyitIdo[1];
NyitOraC2 := NyitIdo[2];
NyitPercC1 := NyitIdo[4];
NyitPercC2 := NyitIdo[5];
NyitIdo_oraS := StrToInt(NyitOraC1+NyitOraC2)*3600;
NyitIdo_percS := StrToInt(NyitPercC1+NyitPercC2)*60;
ZarOraC1 := NyitIdo[7];
ZarOraC2 := NyitIdo[8];
ZarPercC1 := NyitIdo[10];
ZarPercC2 := NyitIdo[11];
ZarIdo_oraS := StrToInt(ZarOraC1+ZarOraC2)*3600;
ZarIdo_percS := StrToInt(ZarPercC1+ZarPercC2)*60;
答案 0 :(得分:2)
变量NyitIdo_oraS
被写入但从未读过。优化器可以从代码中辨别出来并且可以自由地忽略该变量。如果它有副作用,仍然必须调用StrToInt
,但编译器没有理由创建NyitIdo_oraS
变量,因为后续代码没有引用它。同样适用于NyitIdo_percS
。
通常,如果在编译器设置中禁用优化,则不再发生这种优化,您可以在调试器中检查变量。
如果启用了警告,则编译器应通知您正在分配变量但从不读取该值。你有警告吗?