Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#37

Re: Lösung: Das leidige Problem mit der DsgnIntf bzw. Proxy.

  Alt 18. Aug 2006, 10:00
Hier noch mal ein paar weitere Hinweise zu den Packages und den Units:
  • Der meisten Entwickler binden alle Units in die Anwendung ein und verwenden keine Laufzeitpackages.
    Für diese Entwickler reicht es völlig aus, wenn alle von der Komponente (/n Sammlung) benötigte Units in einem Dessingntimepackage (Entwurfszeit Package) gepackt werden.
    Dieses Package wird dann in Delphi eingebunden und die Komponenten können benutzt werden.

    Es muss beachtet werden, das die Units, die die Komponenten enthalten keine Teile der ToolsAPI (z.B. DsgnIntf) benutzen!!! Sonst bekommt man die Fehlermeldung wegen fehlender ToolsAPI Units beim Kompilieren der Anwendung.
  • Es gibt aber auch Entwickler die sogenannte Runtimepackages (Laufzeit Packages) verwenden.
    Hier müssen 2 Package erstellt werden.
    • Das Runtimepackage, das ausschließlich die Teile der Komponente beinhaltet. Es darf keine Unit enthalten sein die Teile der ToolsAPI (z.B. DsgnIntf) benutzt!!!
    • Das Designtimepackage, das das Runtimepackage einbeindet (requires) und nur die Dinge beinhaltet die die ToolsAPI benutzen. (Komponenten-Editoren, Property-Editoren, ...)
    Falls keine ToolsAPI verwendet wird kann natürlich auch ein kombiniertes Laufzeit- und Entwurfszeit Package erstellt werden.
  • Welche Dateien entstehen beim Kompilieren der Packages. und wozu sind diese gut?
    • *.bpl Dateien: BPL steht für Borland Package Library.
      Das ist eigentlich nur eine umbenannte *.dll Datei, die die eingebundenen Komponenten enthält.
      Diese Dateien sollten im Systempfad stehen. (%PATH%)
    • *.dcp Dateien: DCP steht für Delphi Compiled Package.
      In dieser Datei sind die kompilierten Informationen für den Compiler enthalten, um das Package in die Anwendung einzubinden.
      Diese Dateien sollten im Suchpfad von Delphi stehen.
      (Menü -> Tools -> Umgebungsoptionen... -> Bibliothek -> Bibliothekspfad)
    • *.dcu Dateien: Das sind die einzelnen kompilierten Units (*.pas Dateien).
      In dieser Datei sind die kompilierten Informationen für den Compiler enthalten, um die Unit in die Anwendung einzubinden.
  • Folgende Verzeichnisstruktur hat sich in der Praxis bewährt:
    Code:
    Komponentenname
    +--Source      <- hier ist der Quelltext enthalten
    !                  (z.B. MyComp_D7.dpk, MyComp_D2006.dpk, *.pas, *.res, *.dfm, ...)
    !
    +--Packages    <- hier werden die *.bpl Dateien abgelegt
    !                  (z.B. MyComp_D7.bpl, MyComp_D2006.bpl, ...)
    !
    +--LibD7        <- hier werden die kompilierten Delphi 7 Dateien
    !                  (z.B. MyComp_D7.dcp, *.dcu)
    !                  sowie eine Kopie aller verwendeten Resourcen abgelegt.
    !                  (z.B. *.dfm, *.res, *.dcr)
    !
    +--LibD2006     <- hier werden die kompilierten Delphi 2006 Dateien
    !                  (z.B. MyComp_D2006.dcp, *.dcu)
    !                  sowie eine Kopie aller verwendeten Resourcen abgelegt.
    !                  (z.B. *.dfm, *.res, *.dcr)
    !
    +--Help        <- hier liegt die Hilfe zu den Komponenten
                       (z.B. *.pdf, *.txt, *.hlp, ...)
    In der obigen Verzeichnisstruktur muß dann das Packages Verzeichnis in den Systempfad und das Lib Verzeichnis in den Delphi Suchpfad.
    Wichtig ist nur, das die *.bpl im Systempfad stehen und die *.dcu, *.dfm, ... im Delphi Suchpfad.
Ich hoffe, dass diese weiteren Informationen Euch helfen die Probleme zu meistern.

Viel Spaß
MaBuSE
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat