Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Buildnummer weiterzählen

  Alt 26. Aug 2022, 14:13
Was ich aber gerne noch wüsste ist, wann das eingestellte Zeugs denn überhaupt gemacht wird. Beim Speichern? Beim Laden? Beim Kompilieren?
Aktuell reagiert es auf das Öffnen und Speichern von Units und Projektdateien und beim Wechsel des Projekts. Was wann gemacht wird hängt von der jeweiligen Option ab.

Die Hauptaufgabe ist die Normalisierung der dproj-Datei um die Versionsverwaltung einfacher zu machen. Zumindest in nicht ganz aktuellen Delphi-Versionen genügt schon ein Laden und Speichern eines Projekts um Änderungen in der dproj-Datei hervorzurufen. Das wird durch eine konsistente Sortierung vermieden.

Das Splitten der dproj-Datei basiert auf der gleichen Anforderung allerdings unter dem Aspekt der Arbeit im Team. In der dproj-Datei werden diverse Einträge gemacht, die sich auf das System des aktuellen Entwicklers beziehen oder von ihm bewusst geändert wurden, ohne eine Absicht, die an die anderen Team-Mitglieder weiterzugeben (z.B. Aufruf-Parameter, Debugger-Einstellungen, aktuelle Konfiguration oder Plattform). Diese Änderungen werden beim Speichern aus der dproj extrahiert und lokal abgespeichert. Beim nächsten Öffnen werden die dann wieder eingepflegt.

Die Einträge für Excluded Packages werden automatisch an die aktuelle IDE angepasst. Arbeitet man auf verschiedenen Systemen oder mit unterschiedlichen Registry Keys ändert sich das dauernd. Deswegen werde die komplett entfernt.

Clear Settings in Child Configurations greift ein Problem der IDE auf, die eine Vererbung von Einstellungen in der Hierarchie der Build-Konfigurationen nicht sinnvoll manipulieren kann, wie es z.B. bei den Compiler-Optionen der Fall ist. Das betrifft insbesondere die Versions-Info, aber auch die Einstellungen für Packages und Applications. Hier werden einfach alle vererbten Einstellungen gelöscht, so dass immer die Basis-Einstellung Gültigkeit hat. Manche Einstellungen erfordern eine Plattform - dann gilt die entsprechende Plattform-Basis Konfiguration.

Platforms: Enable Missing macht dem Projekt alle Plattformen hinzu, die in der aktuellen IDE Version bekannt sind (auch wenn nicht installiert). Damit lassen sich auch bei alten Projekte die neuen Plattformen hinzufügen.

Platforms: Remove Unused entfernt alle Einträge für Plattformen, die in dem Projekt nicht aktiv sind. Bei einem Aktivieren einer Plattform würden die eh neu erzeugt werden.

Auto LibSuffix setzt das LIBSUFFIX für das Package-Projekt auf die des rtl-Packages.

Refresh Form Type ergänzt fehlende DFM und FMX in Form-Einträgen, was zu einem Problem beim Hinzufügen von Frames führen konnte.

Clean Line Feeds forciert beim Öffnen einer Datei die Zeilenenden auf CR/LF.

Einige dieser Optionen (z.B. Auto LibSuffix, Refresh Form Type, Clean Line Feed) sind in neueren Delphi-Versionen obsolet.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat