4D v16.3Komponente entwickeln |
||
|
4D v16.3
Komponente entwickeln
Komponente entwickeln
Da eine Komponente die Form einer 4D Datenbank hat, lässt sie sich ähnlich wie eine Funktionalität in einer Datenbank entwickeln. Es gibt jedoch bestimmte Einschränkungen und Regeln, die in der Natur von Komponenten liegen. Eine Komponente kann die meisten Objekte von 4D aufrufen: Projektmethoden, Projektformulare, Menüleisten, Auswahllisten, Bilder aus der Bildbibliothek, usw. Folgende Objekte lassen sich in einer Komponente nicht verwenden:
Gibt es diese Objekte in Matrix Datenbanken, müssen sie nicht entfernt werden. Ein nicht-verwendbares Objekt wird beim Installieren der Komponente einfach ignoriert. Hinweis: Benutzer und Gruppen sowie alle in der Matrix Datenbank vergebenen Zugriffsrechte werden in der Host Datenbank nicht berücksichtigt. In der Host Datenbank sind im Designmodus nur die Projektmethoden sichtbar und auswählbar, die von der Komponente zur Mitbenutzung freigegeben sind. Die Komponente kann umgekehrt Projektmethoden aufrufen, die von der Host Datenbank zur Mitbenutzung freigegeben sind. Weitere Informationen dazu finden Sie im Abschnitt Projektmethoden gemeinsam nutzen. Nur die von der Komponente veröffentlichten Formulare sind sichtbar und lassen sich als Unterformulare in Formulare der Host Datenbank integrieren. Weitere Informationen dazu finden Sie im Abschnitt Formulare gemeinsam nutzen. Andere Objekte der Komponente, wie nicht-veröffentlichte Projektformulare, Auswahllisten, Menüs, etc. sind von der Komponente zwar verwendbar, jedoch nicht als Strukturobjekte in der Host Datenbank. Beachten Sie, dass manche Objekte nur einem Teil zugewiesen sind, andere von der Host Datenbank und Komponenten gemeinsam genutzt werden. Weitere Informationen dazu finden Sie im Abschnitt Gemeinsam und nicht-gemeinsam genutzte Objekte. Eine Komponente kann Plug-Ins verwenden, die im 4D Programm oder in der Host Datenbank installiert sind. Sie können jedoch Plug-Ins nicht im Ordner Components installieren. Datenbankmethoden und generische Parameter von Matrix Datenbanken (Web Ordner, Datenbank-Eigenschaften, usw.) werden nie berücksichtigt. Die folgenden 4D Befehle sind für Komponenten nicht geeignet, da sie die Strukturdatei verändern - die nur im Lesemodus geöffnet ist. Bei Ausführung in einer Komponente wird der Fehler -10511 erzeugt mit der Meldung: „Der Befehl Befehlsname kann nicht in einer Komponente aufgerufen werden“: ON EVENT CALL Hinweise:
Eine Fehlerverwaltungsmethode, die über den Befehl ON ERR CALL eingerichtet wurde, gilt nur für die laufende Datenbank. Erzeugt eine Komponente einen Fehler, wird nicht die Fehlerverwaltungsmethode ON ERR CALL der Host-Datenbank aufgerufen, und umgekehrt.
Eine Komponente kann keine Tabelle und Felder verwenden, die in der 4D Struktur der Matrix Datenbank definiert wurden. Sie können jedoch externe Datenbanken erstellen und verwenden, und dann deren Tabellen und Felder gemäß Ihren Bedürfnissen verwenden. Sie können externe Datenbanken über SQL anlegen und verwalten. Eine externe Datenbank ist eine 4D Datenbank, die unabhängig von der 4D Hauptdatenbank ist, sie kann jedoch von der 4D Hauptdatenbank aus arbeiten. Eine externe Datenbank verwenden bedeutet, diese Datenbank temporär als die aktuelle Datenbank festlegen, d.h. als Zieldatenbank für SQL Anfragen, die von 4D ausgeführt werden. Sie können externe Datenbanken über den SQL Befehl CREATE DATABASE anlegen. Der folgende Code ist in einer Komponente enthalten und führt mit einer externen Datenbank drei Grundaktionen aus:
Die externe Datenbank erstellen: <>MyDatabase:=Get 4D folder+"\MyDB" // (Windows) speichert die Daten in einem autorisierten Verzeichnis In die externe Datenbank schreiben: $Ptr_1:=$2 // Findet über Zeiger Daten aus der Host Datenbank Aus einer externen Datenbank einlesen: $Ptr_1:=$2 // Greift über Zeiger auf Daten der Host Datenbank zu Komponenten können Ressourcen verwenden, entweder die konventionellen Mac OS Ressourcen oder Dateien vom Typ XLIFFComponents. Gemäß den Richtlinien zur Ressourcen-Verwaltung (siehe Architektur der Anwendung), müssen Ressource Dateien von Komponenten im Ordner Resources abgelegt werden, der neben der Datei .4db oder .4dc der Komponente liegt. Bei Komponenten mit der Architektur .4dbase (empfohlene Architektur) muss der Ordner Resources innerhalb dieses Ordners liegen. Folgende Operationen laufen automatisch ab: Die Komponente lädt automatisch die XLIFF Dateien, die in ihrem Ordner Resources gefunden werden. Eine Komponente verwendet auch automatisch die konventionellen Mac OS Ressourcen aus der .rsr Datei, die neben den Dateien .4db oder .4dc liegt. “Konventionelle” Ressource Dateien im Ordner Resources müssen über 4D Befehle im Kapitel “Ressourcen” explizit in die Komponente geladen werden. In einer Host Datenbank mit einer oder mehreren Komponenten haben jede Komponente sowie die Host Datenbanken ihre eigenen Ressource-Dateien. Ressourcen sind zwischen den verschiedenen Datenbanken aufgeteilt: Es ist nicht möglich, von Komponente B oder von der Host Datenbank auf die Ressourcen von Komponente A zuzugreifen. Weitere Informationen dazu finden Sie im Abschnitt Gemeinsam und nicht-gemeinsam genutzte Objekte. 4D bietet Entwicklern die Möglichkeit, ihre Komponenten mit Online Hilfe zu versehen. Die Vorgehensweise ist dieselbe wie für 4D Datenbanken (siehe Anhang A: Eigene Online-Hilfe zuordnen):
|
EIGENSCHAFTEN
Produkt: 4D
GESCHICHTE
ARTIKELVERWENDUNG
4D Designmodus ( 4D v16) |