Komponenten-Packages installieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Entwurfszeit-Packages

Alle Komponenten sind in der IDE als Packages installiert. Wenn Sie eigene Komponenten entwickelt haben, erstellen und compilieren Sie ein Package, das diese enthält (siehe Packages erstellen und bearbeiten). Der Quelltext Ihrer Komponenten muss sich an dem Muster orientieren, das unter Die Komponentenentwicklung im Überblick beschrieben ist.

So installieren oder entfernen Sie eigene oder fremde Komponenten:

  1. Zur Installation eines neues Package kopieren oder verschieben Sie dessen Dateien zuerst in ein lokales Verzeichnis. Wenn zu dem Package BPL-, DCP- und DCU-Dateien gehören, müssen all diese Dateien unbedingt kopiert werden (siehe Packages und Standard-DLLs). Das Verzeichnis, in dem die DCP-Datei (und die DCU-Dateien, sofern diese weitergegeben werden) gespeichert sind, muss sich im Bibliothekspfad von Delphi befinden.
  2. Wählen Sie im IDE-Menü Komponente > Packages installieren, oder wählen Sie Projekt > Optionen, und klicken Sie dann auf die Registerkarte Packages. Im Listenfeld "Entwurfszeit-Packages" wird eine Liste der verfügbaren Packages angezeigt.
    • Um ein Package in der IDE zu installieren, aktivieren Sie in der Liste das Kontrollkästchen neben dem Package.
    • Um ein Package zu deinstallieren, deaktivieren Sie in der Liste das Kontrollkästchen neben dem Package.
    • Um die in einem Package installierten Komponenten anzuzeigen, markieren Sie das Package und klicken auf die Schaltfläche Komponenten.
    • Um ein Package aus der Liste zu entfernen, markieren Sie es und klicken auf die Schaltfläche Entfernen.
    • So fügen Sie der Liste ein Package hinzu:
    1. Klicken Sie auf die Schaltfläche Hinzufügen, und suchen Sie im Dialogfeld Entwurfs-Package hinzufügen nach dem Verzeichnis, das die BPL-Datei enthält (siehe Schritt 1).
    2. Markieren Sie die BPL-Datei, und klicken Sie auf Öffnen.
  3. Klicken Sie auf OK.

Die Schritte die Sie ausführen müssen, um die neu erstellte Komponente zu installieren, finden Sie unter Komponenten registrieren.

Die Komponenten im Package werden in der Tool-Palette in den Kategorien installiert, die in den RegisterComponents-Prozeduren festgelegt wurden. Dabei werden auch die in diesen Prozeduren zugewiesenen Namen verwendet.

Ein neues Projekt wird abhängig vom Projekttyp mit einer bestimmten Untermenge aller installierten Packages erstellt. Um zu überprüfen, welche Packages in Ihrem Projekt verfügbar sind, öffnen Sie die Registerkarte Packages des Dialogfeldes Projektoptionen.

Um Komponenten aus der Tool-Palette zu entfernen, ohne ein Package zu deinstallieren, klicken Sie mit der rechten Maustaste auf die Komponente, um das Kontextmenü zu öffnen, und klicken Sie dann auf die Schaltfläche "<Komponentenname>" verbergen.

Explizites Deaktivieren des intelligenten Ladens von Komponenten in einem Entwurfs-Package

Standardmäßig verwendet die IDE das intelligente Laden (Lazy Loading) von in der IDE installierten Entwurfs-Packages. Beim Start der IDE werden nicht sofort alle installierten Packages geladen. Anfänglich werden nur die installierten Packages von der IDE geladen, die explizit in der Projektgruppe verwendet werden. Nicht geladene Packages können bei Bedarf automatisch geladen werden. Wenn der Programmierer beispielsweise eine Komponente aus der Tool-Palette in den Formular-Designer zieht, dann wird das Package, in dem diese Komponente registriert ist, in die IDE geladen. Durch das intelligente Laden wird die Startzeit der IDE und der verwendete Arbeitsspeicher reduziert.

In bestimmten Situationen müssen Sie das intelligente Laden von installierten Komponenten deaktivieren. Beispielsweise kann im FireMonkey-Framework eine benutzerdefinierte Komponente einen neuen Stil definieren. In der IDE können Sie das Entwurfs-Package, in dem diese benutzerdefinierte Komponente registriert wird, installieren. Wenn Sie die IDE ausführen und ein Projekt laden, das keine registrierten Komponenten aus diesem Package enthält, verwendet die IDE standardmäßig das intelligente Laden von Komponenten. Deshalb werden die benutzerdefinierten Komponenten aus diesem Package nicht in den Arbeitsspeicher geladen. Daher sind der IDE die von diesen Komponenten definierten Stile nicht bekannt. Stile werden in Stilbüchern anhand der StyleName-Strings explizit referenziert. Die Verwendung eines bestimmten für die benutzerdefinierte Komponente definierten StyleName veranlasst die IDE nicht dazu, diese benutzerdefinierte Komponente zu laden, wenn sie nicht in einem geladenen Projekt verwendet wird. Beim Öffnen eines derartigen Projekts wird ein Fehler wie der folgende generiert:

Error reading <StyleBook1.ResourcesBin>: Class <ComponentClass> not found. 
Ignore the error and continue?
NOTE: Ignoring the error may cause components to be deleted or property
values to be lost.   

Wenn Sie diese Fehlermeldung ignorieren, ist der referenzierte Stil dem Projekt nicht bekannt. Wenn Sie ein derartiges Projekt erzeugen und die erhaltene Anwendung ausführen, kann die Anwendung beim Zugriffsversuch auf diesen Stil einen Laufzeitfehler generieren.

Für solche benutzerdefinierten Komponenten müssen Sie das intelligente Laden eines Package explizit deaktivieren, in dem diese Komponenten registriert sind.

Rufen Sie zum Deaktivieren des intelligenten Ladens von in einem Package registrierten Komponenten den folgenden Befehl

ForceDemandLoadState(dlDisable)

bei der Implementierung der Prozedur Register eines Package auf, wenn der Ladestatus des Package explizit festgelegt werden muss.

Siehe auch