私の同僚は、突然「値が変わった」定数にぶつかりました。
結局のところ、それは再宣言されました:
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 コンパイラが定数名の重複について警告しないのはなぜですか (これは非常に役に立ちます)。
警告を有効にするためにできることはありますか (そのようには見えません)。