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