我的同事遇到了一个常量突然“改变值”的情况;
原来,它被重新声明了:
unit Unit1;
interface
const
MyConstant = 1;
implementation
end.
--
unit Unit2;
interface
const
MyConstant = 2;
implementation
end.
--
Uses Unit1, Unit2;
// Uses Unit2, Unit1;
procedure TFrmRedefineConstant.FormShow(Sender: TObject);
begin
ShowMessage('MyConstant: ' + IntToStr(MyConstant));
end;
这显示2
。如果您在Uses语句中交换单元顺序,则会显示1
。
好的,但是为什么Delphi编译器不警告重复的常量名称(那将非常有帮助)?
我能做些什么来启用警告吗(看起来似乎不行)。