如何关闭特定的Delphi警告和提示?

时间:2009-03-10 19:29:56

标签: delphi compiler-construction warnings delphi-2007

在CodeGear Delphi 2007中,如何关闭特定警告和提示?我试图关闭H2077 - 分配给'varname'的值从未使用过。

5 个答案:

答案 0 :(得分:17)

您无法通过警告禁用特定提示。提示是那些不会对运行时代码产生任何潜在不利影响的事情。例如,当您看到提示“分配给'varname'的值从未使用过”时,它只是对您应该在代码中“清理”的内容的建议,但它不会导致任何潜在的运行时错误(除了您的自己的逻辑错误,当然:-)。通过调整代码可以最好地解决提示。

另一方面,警告是那些可能可能导致意外运行时行为并且真正应该解决的问题。例如,在为其赋值之前使用变量显然是未初始化变量的情况,并且可能导致“坏事”。在绝大多数情况下,应通过“修复”代码来解决警告问题。即便如此,在某些情况下,您可能会将警告视为“误报”,并确保代码正常运行。在这些情况下,您可以禁用特定警告。禁用所有警告是危险的。

答案 1 :(得分:13)

提示? No specific

你必须全部禁用它们:

{$HINTS OFF}

警告?

{$WARN _name_of_warning_ OFF|ON|ERROR}

点击此处查看full list

答案 2 :(得分:9)

为什么不改变代码以使提示消失?这些提示通常非常准确。如果你真的觉得代码行(我猜一些变量初始化或其他)对代码的读者很有用,即使它与编译器无关,你也可以用注释替换它。

答案 3 :(得分:4)

Lars说的是什么。此外,您可以通过按两次CTRL-O来获取完整的警告列表及其当前设置。它会将列表转储到当前单元的顶部。你可以通过那里找到你需要改变的那个。请记住稍后删除列表,否则稍后查看代码的人会讨厌你。 ;)

答案 4 :(得分:3)

删除包含以下内容的代码行的提示:

  

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;
  

注意:任何已发布到公共领域的代码。无需归属。