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

有帮助吗?

解决方案

提示? 没有具体

你必须全部禁用它们:

{$HINTS OFF}

警告?

{$WARN _name_of_warning_ OFF|ON|ERROR}

点击此处查看完整列表

其他提示

您无法通过警告禁用特定提示。提示是那些不会对运行时代码产生任何潜在不利影响的事情。例如,当您看到提示“分配给'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;
  

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top