Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   compiler directives and defines to log (https://www.delphipraxis.net/211582-compiler-directives-defines-log.html)

himitsu 7. Okt 2022 10:40

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:
{$ShowDirectives} // oder LogDirectives, OutputDirectives, ...
{$ShowDefines}

{$ShowDirectives 'WARN'}  // contains, if * or regex is not implemented
{$ShowDirectives 'WARN*'}  // simple ? and * or as RegEx
{$ShowDefines '*WIN*|*BIT*'}
Bin ich der Einzige, der sich sowas schonmal gewünscht hat?
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:
{$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}
und {$IFOPT } funktioniert ja nur für einbuchstabige On/Off-Settings.

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.

Whookie 7. Okt 2022 10:53

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}

Uwe Raabe 7. Okt 2022 11:01

AW: compiler directives and defines to log
 
Zitat:

Zitat von Whookie (Beitrag 1512937)
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).

Ist in 11.2 bereits implementiert.

Whookie 7. Okt 2022 11:21

AW: compiler directives and defines to log
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1512939)
Ist in 11.2 bereits implementiert.

Ist ja Klasse, ich stecke eben noch in 10.3 fest ... noch ein Grund mehr umzusteigen!

himitsu 7. Okt 2022 11:26

AW: compiler directives and defines to log
 
Liste der Anhänge anzeigen (Anzahl: 1)
https://www.delphipraxis.net/211379-...ml#post1511905 :oops:

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:
{$IF Declared(MyNonexistsConstant)}
  {$IF MyNonexistsConstant = 123}  // [dcc32 Fehler] E2026 Konstantenausdruck erwartet
     Beep;
  {$IFEND}
{$IFEND}

{$IF Declared(MyNonexistsConstant) and (MyNonexistsConstant = 123)}
  Beep;
{$IFEND}
Falls ErrorInsight funktioniert, dann zeigt er das auch direkt an.

DenkDirNix 7. Okt 2022 18:45

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 https://www.delphipraxis.net/204052-...ml#post1462457

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 13:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz