Einzelnen Beitrag anzeigen

Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#1

Automatisch hinzugefügte Units mit IFDEF klammern?

  Alt 16. Feb 2018, 07:39
Halli Hallo,

Bei uns haben wir oft die Situation, dass wir eine neue Version eines Komponenten-Sets installieren, der Code aber noch mit älteren Versionen kompilierbar bleiben soll. Die Stellen, an denen Unterschiede im Code durch die neue Version auftreten klammern wir dann mit z.B. IFDEF VER_1_2_UP aus. Das funktioniert natürlich nur wenn die INC-Datei mit den entsprechenden DEFINES in die Unit eingebunden wurde.

Jetzt hat Delphi ja die "Angewohnheit" Units die von den Komponenten benutzt werden automatisch in die USES-Liste aufzunehmen. So kommt es dann dazu, dass eine Unit die nur in der neuen Komponentenversion vorkommt in die USES-Liste eingefügt wird. Diese automatisch eingefügte Unit klammern wir dann ebenfalls mit dem IFDEF für die jeweilige Version.

In manchen Units bekommt Delphi es aber irgendwie nicht mit, dass dort solche eine neue Unit, geklammert durch IFDEF, schon in der Uses-Liste vorhanden ist und fügt sie einfach beim speichern noch einmal hinzu. Das führt natürlich hinterher zu einem Fehler beim Kompilieren. Im Moment muss dies dann mit einem externen Editor korrigiert werden bevor die Datei in die Versionsverwaltung wandert (sehr lästig).

Irgendwie habe ich noch kein Muster erkennen können, warum es in manchen Units klappt (neue Uses-Einträge werden nicht nochmal hinzugefügt) und in anderen Units nicht (dort werden sie nochmal hinzugefügt).

Hat jemand einen Tipp, worauf man achten sollte damit es in allen Unit auch mit per IFDEF geklammerten Units in der Uses-Liste klappt?

Coa,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat