Einzelnen Beitrag anzeigen

Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Verständnisfrage zu Laufzeitbibliotheken

  Alt 6. Mär 2010, 12:03
Erstmal ein Wort zu den Endungen - da erklärt sich schon manches:

DCU -> Delphi Compiled Unit (eine kompilierte Unit die mal in das Binary gelinkt werden soll)
BPL -> Borland Package Library (von der Sache her eine "normale" DLL deren Exports nach der Delphi-Nomenklatur aufgebaut sind)
DCP -> Delphi Compiled Package (gehört zu einer BPL und beinhaltet die Information, damit die IDE/(der Compiler?) mit dem Package arbeiten kann)

Die DCU kannst du komplett ignorieren.
Die BPL brauchst du zu Entwicklungszeit und wenn du das Programm auslieferst, weil darin der eigentliche Code steckt.
Die DCP brauchst du nur zu Entwicklungszeit, damit die IDE weiß, welche Units, Funktionen, Klassen, ... in der BPL stecken. Die DCP weiß auch wie die BPL heißt.
Deshalb wir in der requires-clause im Projekt auch die DCP angegeben und nicht die BPL.

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
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat