Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Tabellarisches Dateneditieren mit "Typ-Bewusstsein"

  Alt 1. Jul 2014, 17:11
Kann man irgendwie sicherstellen dass in Projekt X immer genau Version Y der verwendeten Packages in mein Binary einfließt, egal welche Version dieser Packages ich aktuell auf meinem Rechner installiert habe? Ist damit sichergestellt, dass unabhängig von der installierten Version dieser Packages immer genau das selbe Binary herauskommt?
Compilierst du mit Packages? Dann obliegt es ja dir selbst, welche BPL du beim Kunden installierst. Wenn du ohne Packages compilierst, dann sind sowieso die entsprechenden DCU- bzw. PAS-Dateien im Suchpfad maßgebend und nicht, was in der IDE installiert ist. Natürlich kannst du diese mit versionieren und somit auch für einen älteren Versionsstand exakt dieselbe Version wieder herstellen.

Es ist allerdings denkbar, daß die DFM-Dateien unterschiedlich sind, wenn in der Delphi-IDE eine andere Version der Komponente installiert ist als zu den Sourcen passen würde. Das passiert z.B. immer dann, wenn neue Properties eingeführt wurden, die keinen sinnvollen Default-Wert haben und somit in die DFM wandern. Das merkst du beim Compilieren erstmal nicht, sondern gemeinerweise erst dann, wenn das Form, der Frame oder das Datenmodul geladen werden - also zur Laufzeit. Deswegen sollte man unerwartete Änderungen an den DFMs immer kritisch unter die Lupe nehmen und gegebenenfalls wieder zurücksetzen.

Um das zu vermeiden, müsstest du vorübergehend die IDE-Packages austauschen, was natürlich voraussetzt, daß auch alle Versionen verfügbar sind. Leider machen es einem die Bibliotheks-Hersteller manchmal recht schwer mal eben die Packages zu tauschen. Ich versioniere daher seit einiger Zeit immer die kompletten Bibliothekssourcen mit und habe die Projekte und Projektgruppen so angepasst, daß ich mit wenigen Klicks die entsprechenden Packages neu erstellen und installieren kann. (Ich glaube, Andreas Hausladen wollte mal ein Tool bauen das sowas automatisiert - habe aber noch nicht wieder davon gehört)

Übrigens kann dir das zumindest theoretisch auch schon mit Delphi-eigenen Komponenten passieren, wenn du z.B. zwischenzeitlich ein Update oder einen Hotfix für Delphi eingespielt hast.

Die EXE wird aber auch im Idealfall noch Unterschiede aufweisen - das kann dir auch passieren, wenn du einfach nur zweimal hintereinander compilierst.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat