德尔福禁用警告失败
问题描述:
我有一个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指令,但不包括 过程或函数中的语句块。
干杯队友!它也似乎是一个暗示,而不是一个警告。 {$ HINTS OFF}禁用它(当在程序周围时,不是语句) – 2010-05-08 07:02:32
用于函数的警告设置是无论什么设置在到达函数的“结束”时都有效。 – 2010-05-08 15:59:35
@Rob Kennedy:有趣的评论。你一定看过编译器源码:)。 – kludg 2010-05-09 04:41:03