德尔福禁用警告失败

问题描述:

我有一个2007年德尔福应用程序下面的代码:德尔福禁用警告失败

function TBaseCriteriaObject.RecursiveCount(
    ObjType: TBaseCriteriaObjectClass): integer; 
var  
    CurObj: TBaseCriteriaObject; 
begin 
    result := 0; 
{$WARNINGS OFF} 
    for CurObj in RecursiveChildren(ObjType) do 
    Inc(Result); 
{$WARNINGS ON} 
end; 

将会产生这样的警告:

[DCC Warning] BaseCriteriaObject.pas(255): H2077 Value assigned to 'CurObj' never used 

我明白了警告,但不希望更改代码,那么如何摆脱警告,因为{$ WARNINGS OFF}在这种情况下似乎不起作用?

从德尔福帮助:

的$警告指令只能在 过程或函数级别 粒度。也就是说,您可以通过 包含 整个程序和功能,其中 为$ WARNINGS指令,但不包括 过程或函数中的语句块。

+1

干杯队友!它也似乎是一个暗示,而不是一个警告。 {$ HINTS OFF}禁用它(当在程序周围时,不是语句) – 2010-05-08 07:02:32

+2

用于函数的警告设置是无论什么设置在到达函数的“结束”时都有效。 – 2010-05-08 15:59:35

+0

@Rob Kennedy:有趣的评论。你一定看过编译器源码:)。 – kludg 2010-05-09 04:41:03