AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE compiler directives and defines to log
Thema durchsuchen
Ansicht
Themen-Optionen

compiler directives and defines to log

Ein Thema von himitsu · begonnen am 7. Okt 2022 · letzter Beitrag vom 7. Okt 2022
Antwort Antwort
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#1

compiler directives and defines to log

  Alt 7. Okt 2022, 11:40
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: compiler directives and defines to log

  Alt 7. Okt 2022, 11:53
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}
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#3

AW: compiler directives and defines to log

  Alt 7. Okt 2022, 12:01
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: compiler directives and defines to log

  Alt 7. Okt 2022, 12:21
Ist in 11.2 bereits implementiert.
Ist ja Klasse, ich stecke eben noch in 10.3 fest ... noch ein Grund mehr umzusteigen!
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: compiler directives and defines to log

  Alt 7. Okt 2022, 12:26
https://www.delphipraxis.net/211379-...ml#post1511905

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.
Miniaturansicht angehängter Grafiken
ifdef2.png  
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 7. Okt 2022 um 12:31 Uhr)
  Mit Zitat antworten Zitat
DenkDirNix

Registriert seit: 13. Dez 2018
69 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: compiler directives and defines to log

  Alt 7. Okt 2022, 19:45
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:56 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