Folgendes Beispiel:
Delphi-Quellcode:
procedure someProc();
var
iterator: Integer;
someValue: TObject;
begin
for iterator := 0 to 5 do begin
if iterator = 3 then
someValue := TObject.Create()
else
Continue;
{$WARN USE_BEFORE_DEF OFF}
someValue.ClassName();
end;
// Die folgende Zeile sorgt dafür dass die Zeile oben TROTZDEM eine
// Warnung erzeugt
//{$WARN USE_BEFORE_DEF DEFAULT}
end;
// Die Warnung außerhalb der Methode wieder einzuschalten klappt
{$WARN USE_BEFORE_DEF DEFAULT
Ganz abgesehen davon dass die vom Compiler erzeugte Warnung übervorsichtig (=falsch) ist, warum kann ich sie nicht gezielt unterdrücken? Ich muss die Warnung
außerhalb der Methode wieder auf
DEFAULT
setzen. Tue ich das innerhalb, bekomme ich trotzdem eine Warnung, als hätte ich sie nie ausgeschaltet.