AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte UnitOptimizer
Thema durchsuchen
Ansicht
Themen-Optionen

UnitOptimizer

Ein Thema von stahli · begonnen am 25. Mai 2018 · letzter Beitrag vom 31. Okt 2021
Antwort Antwort
Seite 8 von 8   « Erste     678   
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: UnitOptimizer

  Alt 2. Okt 2021, 19:41
Kleiner Nebeneffekt...

Zwar muss man die automatisch erzeugten Units natürlich nicht formatieren, aber mir gefällt das so auf jeden Fall besser und ich finde es übersichtlicher.
Miniaturansicht angehängter Grafiken
02-10-_2021_20-24-11.jpg  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.948 Beiträge
 
Delphi 12 Athens
 
#2

AW: UnitOptimizer

  Alt 3. Okt 2021, 10:49
Zwar muss man die automatisch erzeugten Units natürlich nicht formatieren, aber mir gefällt das so auf jeden Fall besser und ich finde es übersichtlicher.
Da der dort verwendete Parser ein wenig... eigenwillig... um nicht zu sagen fehlerhaft... ist, würde ich zumindest in der Projektdatei auf eigene Formatierungen verzichten...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: UnitOptimizer

  Alt 3. Okt 2021, 12:29
Ich hatte jetzt erst mal keine Probleme festgestellt.

Aber danke für die Info!

Die Formatierung der Projektdateien ist natürlich generell recht überflüssig.
Evtl. Kann ich das auch optional komplett ausschließen oder nochmal etwas anpassen, falls es konkretes Probleme gibt.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: UnitOptimizer

  Alt 3. Okt 2021, 13:19
Ich hatte jetzt erst mal keine Probleme festgestellt.
Füg mal eine neue Unit zu dem Projekt hinzu wenn du die Formatierung durchgeführt hast. Danach zerhauts dir eigentlich alles. Passiert bei mir regelmäßig in der DPR Datei, da ich da auch gewisse Prüfungen durchführe und entsprechend Einrückungen vorgenommen habe. Nach dem Hinzufügen der Datei sind die aber immer wieder kaputt. Fällt dann meistens beim Einchecken ins VCS auf.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: UnitOptimizer

  Alt 3. Okt 2021, 13:42
Oha! Vielen Dank!

Dann schließe ich die Formatierung von Projektdateien wohl doch besser gleich komplett aus!
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: UnitOptimizer

  Alt 23. Okt 2021, 16:49
Mein nächster Punkt ist die bedingte Compilierung.
Hier soll geprüft werden, ob alle Varianten "aufgehen", also dass zumindest begin...ends ordentlich abgeschlossen werden.

Die Einrückungen von {$IFDEF ...} würde ich immer am Code orientieren. {$ELSE} und {$INDIF} sollen immer auf der gleichen Ebene stehen.
Mehrfache Verschachtelungen sollen so erkennbar sein.

Ich selbst habe damit noch nie gearbeitet. Habt Ihr noch Vorschläge oder Anmerkungen, was noch berücksichtigt werden muss?

Anbei ein Vergleich der originalen Formatierung und meiner Vorstellung...
Miniaturansicht angehängter Grafiken
23-10-_2021_17-40-07.png  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.948 Beiträge
 
Delphi 12 Athens
 
#7

AW: UnitOptimizer

  Alt 23. Okt 2021, 20:01
Denk daran, dass auch Compilerdirektiven nach Delphiversion per if ausgeschlossen werden, weil sich dort etwas geändert hat.
Sprich: Nicht immer ist die Struktur so linear wie in deinem einfachen Beispiel.

Schau dir am besten mal die .inc Dateien der JEDIs oder so an, da sollte einiges zu finden sein.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: UnitOptimizer

  Alt 23. Okt 2021, 23:11
Was es doch alles gibt in der Welt

Aber für meine Belange sollte das nicht störend sein, soweit ich das sehe.

Ich werde in den $If... Zweigen einfach nur alle Wege einzeln durchgehen, einrücken und auf die notwendigen "end"s prüfen.
Wenn die Bedingungen dabei für spätere Prüfungen umgestellt werden, sollte das nicht wirklich störend sein.

Es werden also alle Möglichkeiten durchgegangen, ohne auf reale Einstellungen Rücksicht zu nehmen.

Das wird wohl schon schwieriger als zunächst gedacht, aber ich taste mich mal vor...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: UnitOptimizer

  Alt 31. Okt 2021, 16:29
Die bedingten Kompilierungen ziehen mir noch den Zahn.

Jetzt wollte ich mich endlich mal dem Problem der auf allen Wegen aufgehenden begin...ends widmen und schon stellt sich ein anderes Problem. Oder doch nicht?

Die Vererbungen und Verwendung von Interfaces in Klassendeklarationen soll der Optimizer berücksichtigen und entsprechenden Code vervollständigen. Dazu schlägt er auch in verwendeten Units (aus den Uses-Klauseln) nach.
In folgendem Beispiel werden vom Compiler je nach Situation unterschiedliche Units verwendet, was ich wohl nicht prüfen kann.
Ich würde zwar nicht davon ausgehen, dass in solchen Konstellationen verschiedene Basisklassen oder Interfaces zur Anwendung kommen, aber man weiß ja nie. :-/

Ich weiß jetzt nicht, was der richtige Ansatz ist.

Für das Einrücken von Code müsste ich immer alle möglichen Wege durchgehen (Bedingung erfüllt und nicht erfüllt).

Für das Prüfen auf gültige Bindungen (begin...ends z.B.) würde es reichen, nur die Wege zu prüfen, die der Compiler anhand seiner Einstellungen gerade gehen würde. Aber ich weiß ja nicht, ob der Programmierer mit oder ohne Compiler kompilieren wird.

Ich habe einfach überhaupt keine Idee, wie ich an das Problem heran gehen soll.

Vermutlich kann ich keine Unterscheidungen nach definierten Bedingungen machen und muss immer alle möglichen Wege durchgehen.
Beim Nachschauen in anderen Units nach Basisklassen und Interfacedeklarationen werde ich die erste passende Unit verwenden, unabhängig ob sie von einer bedingten Kompilierung abhängig ist oder nicht.

Ist schon alles sehr komplex geworden inzwischen.

Ja dazu evtl. jemand Erfahrungen oder Hinweise?

Delphi-Quellcode:
  uses ..

 JvExExtCtrls, JvExtComponent, JvCaptionPanel

    //unterschiedliche pas dateien im Debugmodus / releaseModus
   {$IFDEF DEBUG} , Codes_Debug {$ELSE}, Codes_Release {$ENDIF} ;
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 8 von 8   « Erste     678   


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 09:26 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