Was ist neu in 4D v18 R3

features Zum Programmieren

KlasseN

4D v18 R3 führt das neue Konzept Klassen (classes) in die 4D Programmiersprache ein. Über eine Klasse können Sie das Verhalten eines Objekts anhand von Eigenschaften und Funktionen definieren. Ist eine Klasse definiert, können Sie Objekte dieser Klasse als Instanz überall in Ihrem Code verwenden. Jedes Objekt ist eine Instanz seiner Klasse. Eine Klasse kann eine andere Klasse erweitern und erbt dann von deren Funktionen.

In 4D gibt es zwei Arten von Klassen: integrierte 4D Klassen, die der Befehl 4D zurückgibt und Benutzerklassen, die der Befehl cs zurückgibt.

Mit dem Befehl cs und der Class Member Methode new() erstellen Sie ein Objekt, das eine Instanz einer Klasse ist. Ein weiterer wichtiger Begriff ist der Konstruktor. Er erstellt ein Objekt mit Standardattributen und Instanzen davon und wird automatisch aufgerufen, wenn das Objekt initialisiert wird. Eine Klasse erstellen Sie über das Menü “Neu” in der Toolbar oder das Dialogfenster “Explorer”. Es erscheint ein Klasseneditor, in dem Sie dann den Konstruktor und die Funktionen erstellen.

 

Vererbung zwischen Klassen

Sie können eine Klasse definieren, die das Verhalten einer anderen Klasse erbt. Die übergeordnete Klasse ist die Klasse, von der geerbt wird. Zur Vererbung von einer Benutzerklasse zu einer anderen verwenden Sie das Schlüsselwort Class extends. Legen Sie selbst keinen spezifischen Konstruktor für die untergeordnete Klasse an, wird automatisch der Konstruktor der übergeordneten Klasse aufgerufen. Mit dem Befehl Super können Sie den Konstruktor der übergeordneten Klasse aufrufen.  

 

Mehrere Web Server in einer einzelnen 4D Instanz

Mit 4D v18 R3 können Sie einen Web Server für die Haupt- bzw. Host-Datenbank und auch für jede gehostete Komponente starten und überwachen. Mit dem neuen Befehl WEB server können Sie Web Server in separaten Objekten für jeden Server verwalten. Im optionalen Parameter können Sie auch einen bestimmten Web Server definieren:

  • Web database server verwaltet den Web Server der aktuellen Datenbank. Je nachdem, wo der Befehl aufgerufen wird, kann das auch die Host- oder Komponenten-Datenbank sein.
  • Web host database server verwaltet den Web Server der Host Datenbank aus einer Komponente 
  • Web request receiving server verwaltet den Web Server, der die Anfrage empfangen hat, z.B. in einer gängigen Methode zur Web Server Verwaltung.

Die beiden Member Methoden start() und stop() dienen zum Starten und Stoppen des Web Server. Eine Liste der verfügbaren Web Server erhalten Sie mit dem neuen Befehl WEB Server list. Er gibt eine Collection von Objekten zurück mit allen verfügbaren Web Server für die Host Datenbank.

 

Erweiterte XPath Unterstützung

Die XPath Implementation ist jetzt konformer und unterstützt auch Ausdrücke wie  //, @, *, last(), was Ihre Suchläufe vereinfacht. Zur Wahrung der Kompatibilität wird in konvertierten Anwendungen die bisherige nicht-standardmäßige Implementation beibehalten. Wollen Sie die erweiterten Features in Ihren konvertierten Anwendungen nutzen, aktivieren Sie auf der Seite Kompatibilität die Option Verwende Standard XPath.

 

Verbesserungen bei Object Und Collection

Der Befehl OB Copy() und die Member Methode collection.copy() wurden erweitert. Sie können nun jeweils ein Standardobjekt hinzufügen und so komplexen Code vermeiden, der den Inhalt des Standardobjekts in shared object oder collection kopieren würde. Außerdem gibt es neue Befehle, um ein Objekt als hash map zu verwalten:

  • OB Keys gibt die Eigenschaftsnamen eines Objekts als Collection zurück.
  • OB Values gibt die Eigenschaftswerte eines Objekts als Collection zurück.
  • OB Entries gibt eine Collection der Objekte als Eigenschaftspaare key/value zurück.

 

offscreen web area erstellen

Mit dem neuen Befehl WA Run offscreen area können Sie einen Web Bereich im offscreen Modus verwenden. Der Befehl erstellt einen Web Bereich im Speicher und übernimmt in parameters alle hilfreichen Angaben für den Web Bereich, wie:

  • Die URL zum Laden
  • Den Namen des Bereichs
  • Die aufgerufene Formel, wenn ein Ereignis vom Web Bereich ausgegeben wird.

Der neue Befehl WA OPEN WEB INSPECTOR erleichtert das Debugging mit dem Web Bereich im offscreen Modus. Er öffnet den Web Inspektor, so dass Sie prüfen können, ob die Seite korrekt geladen wurde oder ob Ihr Javascript Code Fehler ausgibt.

4D Server Administration

4D Server Aktivität überwachen

4D v18 R3 bietet den neuen Befehl START MONITORING ACTIVITY, um leicht zu erkennen, welche Operation den Server verlangsamt. Er protokolliert Operationen, die eine definierte Mindestzeit überschreiten. Er hat zwei Parameter: die Dauer und die zu überwachende Operation. Gemäß der Spezifikationen dieses Befehl können Sie dann die protokollierte Aktivität mit dem Befehl Get Monitored Activity() auslesen. Um die Nachverfolgung zu stoppen oder die Liste der Aktivität zu leeren, rufen Sie den Befehl STOP MONITORING ACTIVITY auf.

 

ORDA

Neue Methoden für Entity selection

In v18 R3 gibt es zwei neue Member Methoden:

  • Die Methode extract() extrahiert Daten aus einer Entity Selection, so dass Sie eine individuell angepasste Collection erstellen können. Sie können die Dataclass Attribute für die Extraktion und ihre Namen in der zurückgegebenen Collection angeben.
  • Die Methode refresh() macht die Daten der Entity Selection im lokalen ORDA Cache sofort ungültig, so dass 4D beim nächsten Anfordern der Entity-Selection die Daten erneut aus der Anwendung lädt. Der ORDA Cache wird standardmäßig nach 30 Sekunden ungültig. Diese Methode stellt sicher, dass eine remote Anwendung immer die neuesten Daten verwendet.
 
 

Zeilen einer Listbox wählen

Der neue Befehl LISTBOX SELECT ROWS vereinfacht das Auswählen von Zeilen einer Entity Selection. Ist eine Entity Selection als Parameter übergeben, lassen sich die dazugehörigen Zeilen intuitiv auswählen, hinzufügen oder aus der Auswahl entfernen. Bei einer Collection Listbox übergeben Sie eine Collection mit den Objektreferenzen, die Sie für den Befehl auswählen wollen.

Projekt anwendung

dokumentation zu Methoden

Ab 4D v18 R3 können Sie in einer Projekt Anwendung Ihre eigene Dokumentation für eine Projektmethode, Datenbankmethode, Triggermethode bzw. Projekt- und Tabellenformularmethode liefern. Sie wird in einer Datei mit demselben Namen wie die Methode oder Formulare in einem Ordner Dokumentation abgelegt und ist im Format Markdown. Das ist das Standardformat mit verbesserten Formatierungen, das sich in 4D Explorer, GitHub oder anderen Tools anzeigen lässt. Die Dokumentation kann ein Element näher beschreiben und erläutern, wie das Element in der Anwendung funktioniert. Um die Datei Dokumentation in einer Projekt Anwendung anzulegen oder zu bearbeiten, klicken Sie im 4D Explorer auf die Schaltfläche “Erstellen” oder wählen den Menüeintrag “Dokumentation bearbeiten”. 4D erstellt die entsprechende Datei und öffnet sie in Ihrem Standardeditor mit einer vordefinierten Vorlage.

Automatische schriftgröße selbst Definieren

4D bietet drei automatische Gruppen, die sich nach den Leitlinien jeder Plattform richten. In 4D v18 R3 können Sie diese automatischen Vorgaben überschreiben und bei Bedarf selbst steuern, wie Text in Dialogen, Formularen, etc. erscheint.

 
 

4D for iOS

Ready-to-use templates

Es gibt mehr als 40 einsatzbereite Templates, die über den Projekteditor verfügbar sind. Das Gesamtpaket ist eine dynamische Liste von up-to-date Templates auf GitHub. Sie können Templates für Listen- und Detailformulare über die Schaltfläche “More” aufrufen. Sie zeigt die gesamte Liste der Templates aus dem Bereich Formulare an. Wählen Sie ein Template aus, und 4D for iOS erledigt die Installation für Sie. Sie können es dann an Ihre eigenen Bedürfnisse anpassen.

 

E-mails

Download Ihrer e-mails im MIME format

Mit dem neuen Befehl POP3_transporter.getMIMEAsBlob( ) lassen sich E-Mails wie im Original, im unkonvertiert empfangenen Format speichern Er gibt ein BLOB mit dem MIME Inhalt für eine spezifische Meldung zurück, das Sie in Ihrer Anwendung oder an anderer Stelle speichern können.

4D Write Pro

Neue Standardaktionen für tabellen und ihre elemente

4D Write Pro enthält neue automatische Aktionen für Tabellen, Zeilen und Zellen. Sie können den Randstil einer Tabelle, die Hintergrundfarbe einer Zelle, die vertikale Ausrichtung von Text in einer Zeile, die Ausrichtung der Tabelle selbst im Dokument, Ränder, Einrückung und mehr als 40 Optionen festlegen. Das bietet viele Gestaltungsmöglichkeiten für Tabellen, was die Oberfläche von 4D Write Pro weiter verbessert. Es gibt vier neue Schaltflächen, um die Darstellung von Tabellen, Zeilen, Spalten oder Zellen zu verändern.

 

Neue attribute für Schutzstatus

Teilbereiche oder alle Bereiche von 4D Write Pro Dokumenten lassen sich auf Nur-Lesen setzen. Es gibt zwei Schutzstufen. Als erstes müssen Sie definieren, welcher Teil des Dokuments geschützt bzw. nicht geschützt sein soll. Standardmäßig sind alle Teile geschützt. Als zweites müssen Sie den Schutzstatus für das Dokument aktivieren, damit die festgelegten Einstellungen berücksichtigt werden. Dafür hat der Befehl WP SET ATTRIBUTES zwei neue Attribute erhalten: wk protected lässt sich für fast jede Art von Ziel in einem Dokument setzen, wk protection enabled aktiviert oder deaktiviert den globalen Schutzstatus.

 

4D View Pro

Mehr optionen zum anpassen eines Arbeitsblatts

Mit dem neuen Befehl VP SET SHEET OPTIONS lassen sich verschiedene Optionen für ein Arbeitsblatt in einem 4D View Pro Bereich definieren. Sie können beispielsweise folgendes ausführen:

  • Ein Arbeitsblatt schützen, damit sich keine Zellen darin bearbeiten lassen
  • In einem Arbeitsblatt eigene Farben für Tabs, eingefrorene Linien, Gitterlinien oder Hintergrund und Rahmen einer Auswahl setzen
  • Gitterlinien, sowie Kopfteile von Spalten und Zeilen ein- oder ausblenden
 

Sie wollen mehr wissen? Lesen Sie alle Blog Posts zu 4D v18 R3