Jupp, das hab ich bei einigen Codes auch schon gemacht.
Leider gibt es IfOpt nur für die alten einbuchstabigen "+/-"-Optionen.
Einfach so umschalten und danach "zurückschalten" ist einfach nur falsch, vorallem wenn man sich vorher nicht den aktuellen Zustand merkt und danach "wirklich" wiederherstellt.
Leider fehlt auch noch eine Push/Pop-, bzw. Save/Restore-Möglichkeit, für die Compilerschalter.
Sowas wäre ja toll,
Delphi-Quellcode:
{$PUSH Options} // oder {$PUSH Option X}
{$X+}
machwas;
{$POP Options}
bzw.
Delphi-Quellcode:
{$SAVEOPT X}
{$X+}
machwas;
{$RESTOREOPT X}
aber die Realität sähe etwa so aus
Delphi-Quellcode:
{$IFOPT X+} {$DEFINE _SaveX} {$ELSE} {$UNDEF _SaveX} {$ENDIF}
{$X+}
machwas;
{$IFNDEF _SaveX} {$X-} {$ENDIF}
denn
wäre halt sowas von total falsch, wenn das X vorher schon aktiviert war und es danach nicht mehr ist.