4D v16.3

Komponente installieren

Home

 
4D v16.3
Komponente installieren

Komponente installieren  


 

Um eine Komponente in einer 4D Datenbank zu installieren, kopieren Sie einfach die Strukturdatei der Matrix Datenbank in den Ordner Components der Host Datenbank. Sie können den Ordner Components an zwei Stellen setzen:

  • Auf Ebene des ausführbaren 4D Programms: In diesem Fall sind die Komponenten für alle Datenbanken verfügbar, die mit diesem Programm geöffnet werden.
  • Auf derselben Ebene wie die Strukturdatei der Datenbank: In diesem Fall sind die Komponenten nur in dieser Datenbank verfügbar.

Weitere Informationen dazu finden Sie im Abschnitt Position der Ordner PlugIns und Components.

4D sucht im Ordner Components nach Matrix Datenbanken vom Typ .4db (interpretiert), .4dc (compiliert) oder .4dbase (Package). Andere Elemente, wie Datendateien oder Benutzer Strukturdateien (.4DA), werden ignoriert. Sie können Aliase oder Verknüpfungen auf diese Matrix Datenbanken verwenden. Das ist besonders in der Entwicklungsphase einer Komponente hilfreich, da alle Änderungen in der Matrix Datenbank sofort an alle Host Datenbanken übertragen werden. 

Im Ordner Components können Sie unter Windows eine Verknüpfung, auf Mac OS ein Alias auf eine andere Datenbank einrichten, die selbst als Host Datenbank dient. Über ein Alias kann eine Host Datenbank so zu einer Komponente werden und umgekehrt. Beachten Sie jedoch, dass in diesem Fall nur eine Ebene Komponenten geladen wird. Nicht geladen werden die Komponenten einer Host Datenbank, die selbst als Komponente verwendet wird.

Eine Host Datenbank kann im interpretierten Modus sowohl interpretierte als kompilierte Komponenten, im Unicode Modus oder nicht, verwenden. Sie können in derselben Host Datenbank interpretierte und kompilierte Komponenten installieren. Sind dagegen mehrere kompilierte Komponenten vorhanden, müssen sie im gleichen Unicode Modus ausgeführt werden.

Eine Host Datenbank im kompilierten Modus kann keine interpretierten Komponenten verwenden. Hier sind nur kompilierte Komponenten möglich. Der Unicode Modus muss für Host Datenbanken und Komponenten derselbe sein. 

Nachfolgende Tabelle zeigt die verschiedenen Möglichkeiten:

Interpretierte KomponentenKompilierte Komponenten
UnicodeNicht-UnicodeUnicodeNicht-Unicode
Interpretierte Host DatenbankUnicodeXXX (*)X (*)
Nicht-UnicodeXXX (*)X (*)
Kompilierte Host DatenbankUnicode--X-
Nicht-Unicode---X

(*) Sind mehrere kompilierte Komponenten installiert, müssen Sie im selben Unicode Modus operieren. 

Hinweise:

  • Eine interpretierte Datenbank mit interpretierten Komponenten ist kompilierbar, wenn sie keine Methoden von interpretierten Komponenten aufruft. Sonst erscheint beim Wählen des Menübefehls Compiler eine Warnung und Kompilieren ist nicht möglich.
  • Eine interpretierte Methode kann in der Regel eine kompilierte Methode aufrufen, jedoch nicht umgekehrt. Davon ausgenommen ist der Aufruf durch die 4D Befehle EXECUTE METHOD und EXECUTE FORMULA.

Weitere Informationen dazu finden Sie im Abschnitt Interaktion zwischen Komponenten und Host Datenbanken.

Eine auf Mac OS entwickelte interpretierte Komponente lässt sich in einer Windows Umgebung installieren und umgekehrt. Im Gegensatz dazu müssen kompilierte Komponenten auf der Plattform ausgeführt werden, auf der sie kompiliert wurden, außer sie wurden für beide Plattformen kompiliert.

In der Server Datenbank installierte Komponenten werden, ähnlich wie Plug-Ins, automatisch auf die Client-Rechner übertragen. Wir raten jedoch davon ab, eine Komponente im Client/Server-Modus zu ändern, da dies nur lokal gespeichert und die Komponente nicht auf dem Server-Rechner aktualisiert wird.

Komponenten werden beim Öffnen der Host Datenbank geladen.

  • Enthält eine Komponente kompilierten Code und interpretierte Code, die nicht zusammenpassen, erscheint eine Fehlermeldung und die Komponente wird nicht in die Host Datenbank geladen.
  • Fehlt eine Komponente beim Startup, öffnet sich die Host Datenbank nicht und der Fehler -10509 (Datenbank kann nicht geöffnet werden) wird erzeugt. Mit der 4D Funktion COMPONENT LIST können Sie beim Öffnen einer Datenbank prüfen, ob Komponenten vorhanden sind. Soll die Host Datenbank sowohl mit als auch ohne bestimmte Komponenten funktionieren, können Sie folgende Anweisung verwenden:
     ARRAY TEXT($arrComponents_Txt;0)
     COMPONENT LIST($arrComponents_Txt)
     If(Find in array($arrComponents_Txt;"ComponentA")>0) // Komponente A soll nicht da sein
        EXECUTE METHOD("ComponentAMethod")
     End if

Eine Komponente kann 4D Code automatisch ausführen, wenn die Host Datenbank geöffnet und geschlossen wird, z.B. um Voreinstellungen oder Benutzerzustände in Bezug auf die Operation der Host Datenbank zu laden und sichern. 

Aktionen, wie Initialisierung ausführen oder Code schließen, werden über die Datenbankmethode On Host Database Event verwaltet (siehe Handbuch 4D Programmiersprache).

Aus Sicherheitsgründen müssen Sie, damit Sie diese Datenbank-methode aufrufen können, ihre Ausführung explizit in der Host Datenbank zulassen. Dazu müssen Sie in den Datenbank-Eigenschaften auf der Seite Seite Sicherheit die Option Führe "On Host Database Event" Methode der Komponenten aus markieren:


Im Gegensatz zu gemeinsam genutzten Objekte (siehe Gemeinsam und nicht-gemeinsam genutzte Objekte) sind gemeinsam genutzte Projektmethoden tatsächlich in der Datenbank vorhanden und werden nicht nur durch Ausführen von Code aufgerufen. 

Folglich können Namenskonflikte auftreten, wenn eine gemeinsam genutzte Projektmethode in einer Komponente denselben Namen wie eine Projektmethode der Host Datenbank hat. In diesem Fall wird beim Ausführen des Code in der Host Datenbank die Methode der Host Datenbank aufgerufen. Es ist also möglich, die Methode einer Komponente mit einer eigenen Methode zu verdecken, z.B. um eine andere Funktionalität zu erhalten.
Wird der Code in der Komponente ausgeführt, wird natürlich die Methode der Komponente aufgerufen.

Beim Kompilieren der Datenbank wird die Verdeckung als Warnung angezeigt. 

Hinweis: Nutzen zwei Komponenten gemeinsam Methoden mit demselben Namen, wird beim Kompilieren der Host Datenbank ein Fehler erzeugt.

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: 4D Komponenten entwickeln und installieren

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Designmodus ( 4D v16)
4D Designmodus ( 4D v16.1)
4D Designmodus ( 4D v16.3)