Delphi 为什么';H2219已声明但从未使用的专用符号X';仅在将重载过程赋给局部变量后才使用重载过程时发生?
我仅在将私有方法分配给局部变量后才使用它:Delphi 为什么';H2219已声明但从未使用的专用符号X';仅在将重载过程赋给局部变量后才使用重载过程时发生?,delphi,overloading,compiler-warnings,delphi-2007,Delphi,Overloading,Compiler Warnings,Delphi 2007,我仅在将私有方法分配给局部变量后才使用它: TMyTestWithoutParam = procedure() of object; TMyTestIntegerParam = procedure(APar : integer) of object; TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private procedure Test(); overload; proced
TMyTestWithoutParam = procedure() of object;
TMyTestIntegerParam = procedure(APar : integer) of object;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure Test(); overload;
procedure Test(APar : integer); overload;
end;
编译时,它会引发H2219警告消息:
[DCC警告]单元1.pas(16):H2219专用符号“测试”已声明,但
从未使用过
为什么会出现H2219警告?哪种方法是避免警告的正确方法?我已经使用Delphi XE7对其进行了测试,无法重现该问题。我认为它已在较新的IDE版本中修复
在Delphi2007下,可以通过关闭/打开提示来避免警告
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{$HINTS OFF}
procedure Test(); overload;
procedure Test(APar : integer); overload;
{$HINTS ON}
end;
这是一个编译器缺陷,已经修复很久了。
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{$HINTS OFF}
procedure Test(); overload;
procedure Test(APar : integer); overload;
{$HINTS ON}
end;