Einzelnen Beitrag anzeigen

hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Verständnisfrage zu Laufzeitbibliotheken

  Alt 6. Mär 2010, 12:04
Zitat von chaosben:
Welche weiteren Packages nötig sind, stellt der Compiler(?)/die IDE fest. Entweder sagt der Compiler, das er die Unit XYZ implizit einkompiliert hat, was sehr sehr unschön ist, weil es dann irgendwann eine Kollision mit einem Package gibt, das diese Datei auch beinhaltet. Oder die IDE sagt: Ha! Du musst noch folgenden Packages requiren damit es klappt. Das ist der beste Fall
Was die Fileendungen bedeuten weis ich schon. Aber genau so wie beschrieben, verhält sich der Compiler leider nicht.
Die requires Anweisung gibt es nur in Packages.

Ich bin gerade dabei mit einem Testprojekt zu basteln, um die Frage selbst zu beantworten
und es ist leider so, wie ich befürchtet habe.

Ich bin inzwischen soweit, das das Package tatsächlich nur im Mode mit Laufzeitbibliothek verwendet wird.
Auch wenn in der Liste nicht angegeben, werden von diesem Package implizit benötigte Packages (z.B. rtl,vcl)
stillschweigend als Laufzeitpackages deklariert und beim Programmstart nachgeladen.

Ist der Schalter Laufzeit nicht gesetzt werden BPL und DCR ignoriert. Der Compiler benötigt dann die in diesem Package enthaltenen DCU.
Es gibt allerdings eine wenig praktikable Ausnahme. Die teste ich gerade.
Wenn das Package als nicht visible Komponente installiert wird, dann verhält sich der Compiler wie erwartet und verwendet nur BPL/DCP.
Es ist aber bestimmt kein guter Programmierstil ( in Delphi) Programmkomponenten als nicht visible Komponenten in der IDE einzubinden.
In den Projekteinstellungen ist es leider nicht möglich projektbezogene Komponenten zu verwenden. (In VS geht das)

Gruß
Peter
  Mit Zitat antworten Zitat