![]() |
compiler directives and defines to log
Morsch'n,
es gibt doch dafür noch nichts, oder hab ich es nur nicht gefunden? Also alle/bestimmte DEFINEs ins Build-Log ausgeben lassen, welche aktuell definiert sind, bzw. den Zustand der/einiger Compiler-Direktiven. Wenn nicht, dann wäre meine Idee für eine Feature-Request, irgendwie sowas.
Delphi-Quellcode:
Bin ich der Einzige, der sich sowas schonmal gewünscht hat?
{$ShowDirectives} // oder LogDirectives, OutputDirectives, ...
{$ShowDefines} {$ShowDirectives 'WARN'} // contains, if * or regex is not implemented {$ShowDirectives 'WARN*'} // simple ? and * or as RegEx {$ShowDefines '*WIN*|*BIT*'} Und wenn nicht, gibt es bessere Ideen? Außerdem ein PUSH/POP/RESET für CompilerDirectiven. So geht es ja nicht, weil ich nicht weiß, was in den Projektoptionen eingestellt ist,
Delphi-Quellcode:
und {$IFOPT } funktioniert ja nur für einbuchstabige On/Off-Settings.
{$OVERFLOWCHECKS OFF}
i := i * x; {$OVERFLOWCHECKS ON} // or {$OVERFLOWCHECKS OFF} i := i * x; {$IF sompthing} // hierfür gibt es oft nichts, worauf man prüfen könnte {$OVERFLOWCHECKS ON} {$IFEND}
Delphi-Quellcode:
{$PUSH}
{$OVERFLOWCHECKS OFF} i := i * x; {$POP} // or {$OVERFLOWCHECKS OFF} i := i * x; {$RESET} // so, wie zu Beginn der Unit (also wie es aus den Projektoptionen/CompilerParametern kam) Hab für Beides nocht nichts im Jira jefunden. |
AW: compiler directives and defines to log
Super Idee! Bei den eigenen $Defines würde ich mir dann sofort wünschen, dass die im Editor optisch korrekt angezeigt werden (z.B. nicht aktive Blöcke in grau).
Das mit den Compiler Direktiven hätte ich mir wirklich schon oft gewünscht! Möglich wäre auch
Delphi-Quellcode:
{$PUSHOPT OVERFLOWCHECKS OFF} // alternativ $PUSHOPTSET
i := i + 1 {$POPOPT} |
AW: compiler directives and defines to log
Zitat:
|
AW: compiler directives and defines to log
Zitat:
|
AW: compiler directives and defines to log
Liste der Anhänge anzeigen (Anzahl: 1)
![]() Jupp, funktioniert auch meinstens, aber mit dem Nachteil, dass seit einer Weile rekursive IF/IFDEF immer voll ausgewertet werden und dann ErrorInsight, aber leider auch der Compiler abrauchen.
Delphi-Quellcode:
Falls ErrorInsight funktioniert, dann zeigt er das auch direkt an.
{$IF Declared(MyNonexistsConstant)}
{$IF MyNonexistsConstant = 123} // [dcc32 Fehler] E2026 Konstantenausdruck erwartet Beep; {$IFEND} {$IFEND} {$IF Declared(MyNonexistsConstant) and (MyNonexistsConstant = 123)} Beep; {$IFEND} |
AW: compiler directives and defines to log
Für eine Referenzliste aller definierten bzw. abgefragten Symbole hatte ich vor längerer Zeit mal ein Tool geschrieben, siehe
![]() Habe damit tatsächlich einige Tipfehler in DEFINEs und IFDEFs gefunden nach denen man sonst laaange suchen kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz