如何关闭特定的Delphi警告和提示?
-
08-07-2019 - |
题
在CodeGear Delphi 2007中,如何关闭特定警告和提示?我试图关闭H2077 - 分配给'varname'的值从未使用过。
其他提示
您无法通过警告禁用特定提示。提示是那些不会对运行时代码产生任何潜在不利影响的事情。例如,当您看到提示“分配给'varname'的值从未使用过”时它只是建议你应该“清理”的东西。在你的代码中,但它不会导致任何潜在的运行时错误(当然除了你自己的逻辑错误:-)。通过调整代码可以最好地解决提示。
另一方面,警告是那些可能可能导致意外运行时行为并且真正应该解决的问题。例如,在为其赋值之前使用变量显然是未初始化变量的情况,并且可能导致“坏事”。在绝大多数情况下,警告应通过“修复”来解决。代码。即便如此,在某些情况下,您可能会将警告视为“误报”。并确保代码正常运行。在这些情况下,您可以禁用特定警告。禁用所有警告是危险的。
为什么不改变代码以使提示消失?这些提示通常非常准确。如果你真的觉得代码行(我猜一些变量初始化或其他)对代码的读者很有用,即使它与编译器无关,你也可以用注释替换它。
Lars说的是什么。此外,您可以通过按两次CTRL-O来获取完整的警告列表及其当前设置。它会将列表转储到当前单元的顶部。你可以通过那里找到你需要改变的那个。请记住稍后删除列表,否则稍后查看代码的人会讨厌你。 ;)
删除包含以下内容的代码行的提示:
H2077分配给'%s'的值从未使用过
你可以把它包装成:
{$HINTS OFF}
//...
{$HINTS ON}
例如,从错误的 Vcl.ComCtrls.pas
:
procedure TTrackBarStyleHook.Paint(Canvas: TCanvas);
//....
begin
if not StyleServices.Available then Exit;
{$HINTS OFF}
Thumb := ttbTrackBarDontCare; //value assigned to 'Thumb' never used
{$HINTS ON}
//...
end;
注意:任何已发布到公共领域的代码。无需归属。
不隶属于 StackOverflow