Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Packages: Was genau macht {$IMPLICITBUILD ON/OFF}

  Alt 25. Feb 2011, 17:10
So, hatte mir Uwe Raabe eine kleine private Unterhaltung. Hier ein paar interessante Dinge dies bzgl.:

Zitat von Uwe Raabe:
IMPLICITBUILD ON bedeutet, daß beim Compilieren deines Packages auch die required-Packages compiliert werden, wenn dies nötig ist. Manchmal hat der Compiler aber Probleme dies zu tun - die Gründe dafür sind noch unklar. (Es gibt irgendwelche QCs, die ich jetzt nicht parat habe)

Schaltest du die Option aus, wird immer nur das aktuelle [aktive] Package neu compiliert. Wenn du die Packages in der richtigen Reihenfolge in einer Projektgruppe hast, kannst du bequem über "alle erzeugen" die Packages auch so neu compilieren.
Zitat von Uwe Raabe:
Zitat von s.h.a.r.k:
Weißt du eigentlich wann genau die required-Packages neu compiliert werden müssen? Ich sehe so direkt keinen Grund, warum Delphi das nochmals tun müsste.
Wenn du was am der Units im Package Source geändert hast?

Nimm an, du hast ein Runtime- und ein Designtime-Package in einer Projektgruppe und das Designtime-Package ist aktiv. Du änderst nun eine Unit des Runtime-Package. Dückst du jetzt auf Compilieren wird bei IMPLICITBUILD OFF nur das Designtime-Package neu compiliert, bei IMPLICITBUILD ON erst das Runtime-Package und dann das Designtime-Package.

Anderes Beispiel: Du hast eine ganze Reihe von Packages, die aufeinander aufbauen in einer Projektgruppe. Startest du jetzt "alle erzeugen", wird bei IMPLICITBUILD OFF erst das erste Package neu erzeugt, dann das zweite usw. Bei IMPLICITBUILD ON gibt es aber das folgende Muster: (1), (1, 2), (1, 2, 3), (1, 2, 3, 4), usw.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat