2010-05-08 13 views
7

tengo el siguiente código en una aplicación Delphi 2007:Delphi advertencias desactivar falla

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; 

que produce esta advertencia:

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

entiendo la advertencia, pero no quieren cambiar el código , entonces, ¿cómo me deshago de la advertencia porque {$ WARNINGS OFF} no parece funcionar en este caso?

Respuesta

7

De ayuda de Delphi:

La directiva $ ADVERTENCIAS sólo funciona en el procedimiento o nivel de función granularidad. Es decir, puede rodear procedimientos completos y funciones con la directiva $ WARNINGS, pero no bloques de instrucciones dentro de un procedimiento 0 función .

+1

Cheers mate! También parece ser una pista, no una advertencia. {$ HINTS OFF} lo deshabilita (cuando se encuentre alrededor del procedimiento, no enunciado) –

+2

La configuración de advertencia utilizada para una función es cualquiera que sea la configuración vigente en el punto en que llegó al "fin" de la función. –

+0

@Rob Kennedy: comentario interesante. Debes haber visto las fuentes del compilador :). – kludg

Cuestiones relacionadas