Hallo,
in den Turbo-Pascal-Zeiten gab es für die Compilerschalter neben den Optionen "+" und "-" noch die Option "=", die den
vorigen Zustand des Schalters wiederherstellte. Delphi bietet diese Möglichkeit leider nicht mehr, man kann sich aber relativ leicht behelfen, indem man für den betreffenden Schalter Include-Dateien im Bibliothekspfad bereitstellt und diese einbindet:
Delphi-Quellcode:
// Datei "R+.pas"
{$ifopt R-}
{$undef RangeCheckIsOn}
{$R+}
{$else}
{$define RangeCheckIsOn}
{$endif}
// Datei "R-.pas"
{$ifopt R+}
{$define RangeCheckIsOn}
{$R-}
{$else}
{$undef RangeCheckIsOn}
{$endif}
// Datei "R=.pas"
{$ifdef RangeCheckIsOn}
{$R+}
{$else}
{$R-}
{$endif}
Bei Verwendung dieser Include-Dateien sieht Hagens Beispiel so aus:
Delphi-Quellcode:
{$I R-}
procedure OhneRangeCheck;
begin
end;
{$I R=}
Gruß Hawkeye