Was ist neu in 4D v18 R3

Programmierungsbezogene Funktionen

Klassen

4D v18 R3 führt ein neues Konzept in die 4D Sprache ein: Klassen. Eine Klasse ermöglicht es Ihnen, das Verhalten eines Objekts durch Eigenschaften und Funktionen zu definieren. Sobald eine Klasse definiert ist, können Sie Objekte dieser Klasse überall in Ihrem Code instanziieren. Jedes Objekt ist eine Instanz seiner Klasse. Klassen können andere Klassen erweitern und dann von deren Funktionen erben.

In 4D gibt es zwei Arten von Klassen: eingebaute 4D Klassen (die mit dem Befehl 4D zurückgegeben werden) und Benutzerklassen (die mit dem Befehl cs zurückgegeben werden).

Um ein Objekt als Instanz einer Klasse zu erstellen, verwenden Sie den cs-Befehl mit der Funktion new member. Ein weiterer wichtiger Begriff, den Sie kennen sollten, ist der Konstruktor. Der Konstruktor wird verwendet, um ein Objekt mit Standardattributen zu erstellen und zu instanziieren. Er wird automatisch aufgerufen, wenn ein Objekt initialisiert wird. Das Erstellen einer Klasse erfolgt über das Menü „Neu“ in der Symbolleiste oder über den Dialog „Explorer“. Es wird ein Klasseneditor angezeigt, in dem Sie den Klassenkonstruktor und die Funktionen erstellen können.

Vererbung von Klassen

Durch Vererbung kann eine Klasse das Verhalten einer anderen Klasse (der Elternklasse ) erben. Um von einer Benutzerklasse auf eine andere zu vererben, verwenden Sie das Schlüsselwort Class extends. Dabei wird automatisch der Konstruktor der Elternklasse aufgerufen (wenn Sie keinen speziellen Konstruktor für die Kindklasse definiert haben). Sie können auch den Super-Befehl verwenden, um den Konstruktor der Elternklasse aufzurufen.

Mehrere Webserver in einer einzigen 4D Instanz

Mit 4D v18 R3 können Sie einen Webserver für die Hauptdatenbank (Host) sowie für jede gehostete Komponente starten und überwachen. Der neue Befehl WEB server ermöglicht die Verwaltung von Webservern in separaten Objekten für jeden Server. Er akzeptiert auch einen optionalen Parameter, um den zu verwendenden Server zu definieren:

  • Web database server – zur Bearbeitung des aktuellen Datenbank-Webservers (die Host-Datenbank oder die Komponentendatenbank, je nachdem, wo der Befehl aufgerufen wird)
  • Web host database server – um den Webserver der Host-Datenbank von einer Komponente aus zu manipulieren
  • Web request receiving server – um den Webserver zu manipulieren, der eine Anfrage erhält, z.B. in einer gemeinsamen Methode zur Webserververwaltung.

Zum Starten und Stoppen des Webservers stehen zwei Methoden zur Verfügung: start() und stop(). Um eine Liste der verfügbaren Webserver zu erhalten, gibt der neue Befehl WEB Server list eine Sammlung von Objekten zurück, die allen verfügbaren Webservern für die Host-Datenbank entsprechen.

Verbesserte XPath-Unterstützung

Ab 4D v18 R3 ist die XPath-Implementierung kompatibler und vereinfacht Ihre Suchvorgänge durch die Unterstützung von Ausdrücken wie //, @, * und last(). Aus Kompatibilitätsgründen wird die vorherige, nicht standardisierte Implementierung in konvertierten Datenbanken standardmäßig beibehalten. Um die Vorteile der erweiterten Funktionen in Ihren konvertierten Datenbanken zu nutzen, wählen Sie die Option Standard-XPath-Kompatibilität verwenden auf der Seite Kompatibilität.

Objekt- und Auflistungserweiterungen

Der Befehl OB Copy() und die Member-Methode collection.copy() wurden in 4D v18 R3 verbessert. Sie ermöglichen nun das Hinzufügen eines Standardobjekts in ein gemeinsam genutztes Objekt oder eine Sammlung, um komplexen Code zum Kopieren des Inhalts des Standardobjekts in das gemeinsam genutzte Objekt oder die Sammlung zu vermeiden. Darüber hinaus sind neue Befehle zur Behandlung von Objekten als Hash-Maps verfügbar:

  • OB Keys: gibt die Eigenschaftsnamen eines Objekts als Sammlung zurück.
  • OB Values: gibt die Eigenschaftswerte eines Objekts als Sammlung zurück
  • OB Entries: gibt eine Sammlung von Objekten mit Schlüsseleigenschaften (Eigenschaftsname) und Werten (Eigenschaftswert) zurück.

Einen Offscreen-Webbereich erstellen

In 4D v18 R3 können Sie mit dem Befehl WA Run offscreen area einen Webbereich im Offscreen-Modus verwenden. Er erstellt einen Webbereich im Speicher und übernimmt als Parameter alle relevanten Informationen für den Webbereich, wie z. B.:

  • Die zu ladende URL
  • den Namen des Bereichs
  • Die Formel, die aufgerufen wird, wenn ein Ereignis durch den Webbereich ausgelöst wird

Um die Fehlersuche in einem Offscreen-Webbereich zu vereinfachen, wurde ein neuer Befehl hinzugefügt: WA OPEN WEB INSPECTOR. Er öffnet den Web-Inspektor und ermöglicht es Ihnen, zu überprüfen, ob die Seite korrekt geladen ist oder ob Ihr JavaScript-Code Fehler auslöst.

4D Server-Verwaltung

4D Server-Aktivitäten überwachen

Um herauszufinden, welche Operationen einen Server langsam machen, bietet 4D v18 R3 einen neuen Befehl: START MONITORING ACTIVITY. Er erfasst Vorgänge, die eine bestimmte Dauer überschreiten, mit zwei Parametern: die Dauer und den zu überwachenden Vorgang. Basierend auf den Spezifikationen dieses Befehls können Sie auch alle aufgezeichneten Aktivitäten mit dem Befehl Get Monitored Activity() abrufen. Wenn Sie die Aufzeichnung der Aktivität Ihrer 4D Anwendung beenden oder die Aktivitätsliste leeren möchten, rufen Sie den Befehl STOP MONITORING ACTIVITY auf.

ORDA

Neue Methoden für die Entitätsauswahl

Neue Methoden stehen Ihnen in 4D v18 R3 zur Verfügung:

  • extract(): zum Extrahieren von Daten aus einer Entitätsauswahl. Damit können Sie eine vollständig angepasste Sammlung mit den Daten Ihrer Entitätsauswahl erstellen. Sie können die Attribute der Datenklasse, die Sie extrahieren möchten, und ihre Namen in der resultierenden Sammlung angeben.
  • refresh(): macht die Entitätsauswahldaten im ORDA-Cache ungültig. Es löst eine Aktualisierung vom Server aus, wenn Sie die Daten das nächste Mal verwenden. Standardmäßig läuft der ORDA-Cache nach 30 Sekunden ab. Verwenden Sie also diese Methode, wenn Sie sofort aktuelle Daten benötigen.

Auswahl von Listbox-Zeilen

4D v18 R3 bietet einen neuen Befehl, der die Auswahl von Zeilen in einer Entitätsauswahl erleichtert: LISTBOX SELECT ROWS. Er akzeptiert eine Entity-Auswahl als Parameter und Zeilen, die der Entity-Auswahl entsprechen, können intuitiv ausgewählt werden (einschließlich Zeilen, die der Auswahl hinzugefügt oder aus ihr entfernt werden). Bei Listenfeldern für Sammlungen können Sie eine Sammlung mit den Objektreferenzen übergeben, die Sie auswählen möchten.

Projekt-Datenbank

Dokumentation zur Methode

Ab 4D v18 R3 können Sie Ihre eigene Dokumentation für Projekt-, Datenbank-, Trigger-, Projekt- und Tabellenformularmethoden schreiben. Die Dokumentation wird in einer Markdown-Datei mit dem gleichen Namen wie die Methode oder das Formular in einem Dokumentationsordner gespeichert. Markdown ist ein Standardformat für die Dokumentation und erlaubt erweiterte Formatierungsstile. Das Format kann im 4D Explorer, in GitHub oder anderen Tools angezeigt werden. Die Dokumentation kann eine Beschreibung eines Elements sowie alle Informationen enthalten, die notwendig sind, um zu verstehen, wie das Element in der Datenbank funktioniert. Um die Dokumentationsdatei in einer Projektdatenbank zu erstellen oder zu bearbeiten, klicken Sie im Explorer auf die Schaltfläche „Erstellen“ oder wählen Sie den Menüpunkt „Dokumentation bearbeiten“. 4D erstellt die entsprechende Datei und öffnet sie in Ihrem Standard-Editor mit einer voreingestellten Vorlage.

Definieren Sie die Größe für automatische Schriften

4D bietet drei automatische Schriftthemen, die die Richtlinien der jeweiligen Plattform berücksichtigen. Mit 4D v18 R3 können Sie die Größe dieser automatischen Themen überschreiben und haben so mehr Kontrolle darüber, wie Ihr Text angezeigt wird.

4D für iOS

Gebrauchsfertige Vorlagen

Über 40 fertige Vorlagen stehen Ihnen im Projekteditor zur Verfügung. Die Galerie basiert auf einer dynamischen Liste von aktuellen Vorlagen, die auf GitHub verfügbar sind. Um eine Vorlage zu verwenden, steht sowohl für Listen- als auch für Detailformulare einMehr“-Symbol zur Verfügung, das die gesamte Liste der Vorlagen aus dem Bereich Formulare anzeigt. Wählen Sie die Vorlage aus und 4D für iOS übernimmt die Installation. In einem letzten Schritt können Sie die Vorlage an Ihre Bedürfnisse anpassen.

E-Mails

Emails im MIME Format herunterladen

4D v18 R3 bietet einen Befehl, mit dem Sie E-Mails in ihrem ursprünglichen, unkonvertierten, empfangenen Format speichern können. Mit der Methode POP3_transporter.getMIMEAsBlob( ) können Sie ein BLOB mit dem MIME-Inhalt einer bestimmten Nachricht abrufen, das Sie in Ihrer Datenbank oder an einem anderen Ort speichern können.

4D Write Pro

Neue Standardaktionen für Tabellen und ihre Elemente

4D v18 R3 erweitert 4D Write Pro um neue Standard-Aktionen für Tabellen, Zeilen und Zellen. Sie ermöglichen es Ihnen, den Rahmentyp einer Tabelle, die Hintergrundfarbe einer Zelle, die vertikale Ausrichtung des Textes in einer Zeile, die Ausrichtung der Tabelle selbst innerhalb des Dokuments, die Ränder, die Auffüllung und 40 weitere Optionen zu definieren. Folglich wurde die Oberfläche von 4D Write Pro in Bezug auf die Möglichkeiten der Tabellenverarbeitung verbessert. Vier neue Schaltflächen wurden hinzugefügt, um das Aussehen von Tabellen, Zeilen, Spalten und Zellen zu verändern.

Unterstützung von geschützten Attributen

In 4D v18 R3 können bestimmte Teile von 4D Write Pro Dokumenten (oder alle Teile) „nicht editierbar“ sein. Es stehen zwei Schutzstufen zur Verfügung. Legen Sie zunächst fest, welcher Teil des Dokuments geschützt werden soll (standardmäßig sind alle Teile geschützt). Aktivieren Sie dann das Dokumentschutzkennzeichen, damit die von Ihnen vorgenommenen Einstellungen berücksichtigt werden. Hierfür stehen zwei neue Attribute zur Verfügung, die mit dem BefehlWPSET ATTRIBUTES verwendet werden können: wk protected (kann auf fast jede Art von Ziel gesetzt werden, das zu einem Dokument gehört) und wk protection enabled (aktiviert oder deaktiviert den globalen Dokumentschutz).

4D Ansicht Pro

Mehr Optionen zum Anpassen von Arbeitsblättern

Mit dem neuen Befehl VP SET SHEET OPTIONS können Sie verschiedene Blattoptionen für einen 4D View Pro Bereich festlegen. Mit diesem Befehl können Sie zum Beispiel:

  • ein Arbeitsblatt zu schützen, indem Sie verhindern, dass die Zellen darin bearbeitet werden,
  • die Farben der Tabulatoren, der eingefrorenen Linien, der Gitternetzlinien, des Hintergrunds und des Rahmens einer Auswahl anpassen,
  • die Sichtbarkeit der Gitternetzlinien sowie der Zeilen- und Spaltenüberschriften eines Arbeitsblatts verwalten.

Möchten Sie mehr wissen? Alle Blogposts über 4D v18 R3 lesen