Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Update der Delphiversion - Änderungen in der DFM (https://www.delphipraxis.net/213172-update-der-delphiversion-aenderungen-der-dfm.html)

shebang 9. Jun 2023 08:58

Update der Delphiversion - Änderungen in der DFM
 
Ich habe mein aktuelles Projekt von 10.4 auf 11.3 gezogen und dabei gesehen, dass es gewisse Anpassungen an den DFM Dateien gibt, sobald ich eine entsprechende Unit speichere. Das sind z.B. die Width und Height Werte von TLabel oder das HoverElement Attribut der TChartSeries.

Gibt es eine Möglichkeit das für alle DFM Dateien auf einmal zu erledigen oder muss ich wirklich manuell jede einzelne Datei öffnen und neu speichern?
Mein Ziel ist es alle diese nicht sichtbaren Änderungen in ein Git Commit zu packen um sie sauber von "richtigen" Codeänderungen zu trennen.

Der schöne Günther 9. Jun 2023 09:11

AW: Update der Delphiversion - Änderungen in der DFM
 
Ich glaube das hier könnte passen:

https://github.com/ahausladen/DFMCheck

Zitat:

You can also use the "Open/Close all forms" menu item to let the IDE validate the forms. But this requires a lot more resources and time but is useful to automatically save modifications due to parent component changes in the base class DFM.

shebang 9. Jun 2023 14:07

AW: Update der Delphiversion - Änderungen in der DFM
 
Das sieht schon mal recht vielversprechend aus, werde ich mir auf alle Fälle genauer anschauen.

himitsu 9. Jun 2023 15:41

AW: Update der Delphiversion - Änderungen in der DFM
 
zuletzt mal so gemacht :freak:

* im Explorer alle DFM PAS suchen lassen -> [ENTER] ähh Drag&Drop ins Delphi
* leider wird eine Datei selten als geändert markiert, wenn sich beim Öffnen der DFM ändert, also wird sie dynn auch nicht gespeichert.
* dann ganz links zur ersten PAS
* unten, in der Statusleiste des Code-Editors, die Makro-Aufnahme starten
* Strg+Pos -> Leertaste -> Delete -> Strg+Tab (das Ganze eventuell mehrmals wiederholen °1 )
* und dann so oft auf Abspielen drücken, bis alle Tabs durch sind, bzw. bis man wieder vorhne angekommen ist


°1 : leider bekommt die schrottige IDE manchmal die Dateiänderung nicht mit, wenn mehrere Tabs gleichzeitig/nacheinander in einem Makro.
* Merkt man ja, wenn oben im Tab der Stift fehlt
* dann entweder jeweils Strg+Shift+Tab zurück und wiederholen
* ober eben nur einen Tab pro Makro und dann häufiger abspielen

( ~80 Formulare und viel mehr Units ohne, aber lässt sich ja bei der Suche nur umständlich ausschließen :wall: )



Das Selbe übrigens auch nochmal für Projekte (DPROJ) wo sich nach dem Upgrade gern mal was ändert
und was man vielleicht nur einmal gemeinsam als Commit hätte.

dummzeuch 9. Jun 2023 15:57

AW: Update der Delphiversion - Änderungen in der DFM
 
Nur so als Warnung: Wenn Delphi 11 die DFM-Dateien neu schreibt, löscht es die Property OldCreateOrder. Diese wird seit mindestens Delphi 6 beim Erstellen eines neuen Formulars auf False gesetzt, hat aber den Default-Wert True.

Das ist solange nicht problematisch, wie man sie anschließend nur noch mit Delphi 11 verwendet. Öffnet man sie aber mit einer älteren Delphi Version, passiert folgendes:
  1. Delph stellt fest, dass der Eintrag fehlt
  2. Deshalb wird er auf den Default (True) gesetzt
  3. Das kann unerwartete Konsequenzen haben

Uwe hat mal darüber geblogt.

himitsu 9. Jun 2023 16:12

AW: Update der Delphiversion - Änderungen in der DFM
 
Jupp, wir haben grade noch XE und 11.3 parallel :wall:

* aber wir haben eh fast alle Fenster abgeleitet
* beim Laden der DFM haben wir sowohl im Programm, als auch im FormDesigner reingehangen (Fehlerbehandlung, von z.B. inzwischen unbekannten/falschen Property)
* und beim Laden wird im Constructor für XE auch dieses Property mit False inizialisiert


So lange man aber nur Upgraded und nicht wieder (mit dem aktuellen Code/Branch) ins alte Delphi zurück ginge, dann wäre es egal unproblematisch.

shebang 12. Jun 2023 13:44

AW: Update der Delphiversion - Änderungen in der DFM
 
Das in Post #2 genannte Tool hat genau das getan, was von mir gewünscht war. Es hat automatisch alle Forms/Frames geöffnet und wieder geschlossen. Die dabei erzeugten Änderung der DFM Dateien sind jetzt alle schön zusammen committet. Wenn es nur für alle Probleme so einfache Lösungen geben würde. :thumb:

himitsu 12. Jun 2023 16:20

AW: Update der Delphiversion - Änderungen in der DFM
 
Es kann noch schlimmer werden.

Wir arbeiten mit vererbten Forms/Komponenten.

Leider sind ein paar der Vererbungen im selben Package,
also mit einmal Kompilieren und Package im Delphi neu laden ist dann nur die erste Ebene aktuell.
Dann nochmal öffnen, neu Speichern/Komplieren/Laden und die zweite Ebene ist durch.
Und das eventuell noch ein paar Mal.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:24 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