Was ist neu in 4D v19 R4

4D-Sprache

Zurückkehren. Weiter. Pause. Und mehr!

Wir haben zugehört und sind Ihren Wünschen im 4D Forum gefolgt und haben einige Verbesserungen in der 4D Sprache vorgenommen!

  • Beginnend mit Anweisungen, die es Ihnen ermöglichen, einen Codeblock zu überspringen:
    • Das Schlüsselwort Return beendet die Ausführung der Methode oder Funktion, in der es vorkommt, und gibt die Kontrolle an die aufrufende Methode zurück. Es kann auch einen optionalen Wert zurückgeben.
    • Das break-Schlüsselwort beendet die Schleife, die es enthält. Die folgende Anweisung wird unmittelbar nach dem Schleifenkörper ausgeführt.
    • Die continue-Anweisung beendet die Ausführung der Anweisungen in der aktuellen Iteration der Schleife und setzt die Ausführung der Schleife mit der nächsten Iteration fort.
  • Gefolgt von einer Kurzschlussauswertung: In einem Ausdruck, der einen UND- oder ODER-Operator verwendet, bedeutet eine Kurzschlussauswertung, dass das zweite Argument nur ausgeführt oder ausgewertet wird, wenn das erste Argument nicht ausreicht, um den Wert des Ausdrucks zu bestimmen. Wir fügen zwei neue Operatoren hinzu, um dies zu erreichen:
    • && für den AND-Operator
    • || für den OR-Operator
  • Und dann gibt es noch einen ternären Operator, der aus einer Bedingung gefolgt von einem Fragezeichen ( ? ), einem Ausdruck, der ausgewertet werden soll, wenn die Bedingung wahr ist, gefolgt von einem Doppelpunkt (:), und schließlich dem Ausdruck, der ausgewertet werden soll, wenn die Bedingung falsch ist, besteht: condition? value If True: value If False.

Neuer Befehl, um detaillierte Informationen über Lizenzen zu erhalten

4D v19 R4 wird mit einem neuen Befehl ausgeliefert, der alle Informationen über Ihre Lizenznutzung liefert: Get License Usage. Wir haben auch unsere Diagnoseprotokolle erweitert. Dank dieser Funktion können Sie den Lizenzverbrauch auf Ihrem Server verfolgen, Ihre Nutzung optimieren und für Ihre zukünftigen Bedürfnisse planen.

Mehr Optionen für den Befehl OBJECT SET enterable

Der Befehl OBJECT SET ENTERABLE wurde verbessert, so dass Sie ein Feld, das nicht editierbar ist, besser verwalten können. Als dritten Parameter unterstützt der Befehl einen booleschen oder einen Integer-Wert.

  • Sie können den Befehl also wie bisher verwenden, ohne Ihren Code zu ändern, indem Sie einen Boolean übergeben. Nur die Eigenschaft enterable wird geändert (False oder True).
  • Oder Sie können eine ganze Zahl übergeben. So können Sie die enterable- und focusable-Eigenschaft für Ihr Feld festlegen.

Benutzeroberfläche

Hohe DPI unter Windows: Unterstützung für hochauflösende Bildschirme

High DPI steht für High Dots Per Inch. Er steht für die Pixeldichte; je höher der DPI-Wert, desto höher die Pixeldichte. Bei 4K-Bildschirmen kann die Pixeldichte so hoch sein, dass bei der üblichen Anzeige alle Symbole und Steuerelemente extrem klein dargestellt werden. In Windows können Sie daher die Skalierung von Text, Symbolen und Steuerelementen ändern. Auf 4K-Bildschirmen ist diese Funktion standardmäßig aktiviert. Wir haben hohe DPI-Werte zuerst auf dem Mac unterstützt, und mit v19R4 ist 4D jetzt auch unter Windows voll kompatibel. Das Ergebnis ist eine bessere Text- und Bildqualität.

Systemarbeiter

Starten Sie einen externen Prozess asynchron

Eine weitere stark nachgefragte Funktion ist für Sie verfügbar. Manchmal müssen Sie Prozesse im Hintergrund laufen lassen und bestimmte Aktionen auf der Grundlage ihres Ausgabecodes ausführen, sobald dieser verfügbar ist, während der Prozess noch läuft. Zum Beispiel, um einen Fortschrittsbalken anzuzeigen. 4D ermöglicht es Ihnen, einen Hintergrundprozess mit der neuen Klasse 4D.SystemWorker zu starten und automatisch Callback-Methoden auszuführen, wenn der Prozess Informationen zurückgibt. Wenn Sie dies also mit einer Schnittstelle verwenden, bleibt die Schnittstelle für den Benutzer ansprechbar, während der externe Prozess läuft, und wenn er beendet ist, können Sie das Ergebnis für Ihren Kunden anzeigen.

ORDA

Begrüßen Sie die Aliase

4D v19 R4 wird mit einem neuen ORDA Konzept ausgeliefert: Aliasen. Sie sind die logische und komplementäre Fortführung von berechneten Attributen. Wie der Name schon sagt, ist ein Alias eine Abkürzung für ein bestehendes Datenspeicherobjekt. Sie werden wie die berechneten Attribute in der „Entity Dataclass“ definiert. Während ein berechnetes Attribut jede beliebige Berechnung oder Formel verarbeiten kann, ist ein Alias nur eine Abkürzung, die die Entwicklung schneller und einfacher macht. Ein Beispiel für die Verwendung ist der einfache Zugriff auf verwandte Attribute (was bedeutet, dass die Komplexität einer verwandten Datenbank ausgeblendet wird).

Deaktivieren der Standardzuordnung des NULL-Wertes zu einem leeren Wert

Wenn Sie ein neues Feld in Ihrer Datenbank erstellen, können Sie in 4D wählen, ob NULL-Werte auf Leerwerte abgebildet werden sollen oder nicht. Ab 4D v19 R4 wird 4D in neuen Projekten den NULL-Wert nicht mehr standardmäßig auf fehlende Daten abbilden.

Dies ist vorteilhaft, da ORDA perfekt für die Arbeit mit NULL-Werten ausgelegt ist, und es erspart Ihnen eine Menge unpraktischer Workarounds.

Pessimistisches Lock-Management VIA Rest

Mit 4D v19 R4 können Sie die REST API verwenden , um eine Entität zu sperren oder zu entsperren. Dies ist besonders nützlich, um:

  • Ihren Code konsistent zu halten, wenn Sie es gewohnt sind, mit der REST API zu arbeiten. Es ist nicht notwendig, eine Funktion in ORDA Data Model Classes zu schreiben, um eine Entität zu sperren/entsperren.
  • Reibungslose Verwendung der pessimistischen Sperren mit der REST-API.

4D für Mobile

Objektattribute für fortgeschrittene Anwendungen

Ab sofort können Sie fast alle Arten von Attributen in Ihren mobilen Projekten verwenden: Text, Datum, Zeit, Ganzzahlen. 4D v19 R4 bringt eine weitere Möglichkeit: Objektattribute. Damit können Sie Objektfelder in Ihrer mobilen Anwendung in einem für Menschen lesbaren Format oder im JSON-Format anzeigen. Objektfelder werden verwendet, um verschiedene Daten in Ihrer 4D Anwendung zu speichern; jetzt sind sie leicht in mobilen Anwendungen nutzbar. Was bedeutet das? Sie können jetzt noch fortschrittlichere iOS- und Android-Anwendungen erstellen.

Verbesserungen im Datenmanagement

Mit 4D v19 R4 wurde der Datenbereich verbessert, um Ihnen mehr Informationen über die Daten zu geben, die Sie mit Ihrer mobilen Anwendung verpacken. So erhalten Sie z.B. die genaue Anzahl der Entitäten und die Datengröße für jede Datenklasse, um zu vermeiden, dass Sie zu viele Daten in Ihrer mobilen Anwendung erhalten. Diese Verbesserung hilft Ihnen auch, die Gültigkeit Ihrer Abfrage zu überprüfen, indem Sie auf die Schaltfläche Validieren klicken. Sie erhalten mehr visuelles Feedback über Ihre Abfragevalidierung mit Fehlermeldungen, wenn die Abfrage falsch ist.

Neu in 4D für Android

Viele Verbesserungen wurden in 4D für Android integriert, so dass Sie das gleiche Premium-Erlebnis genießen können wie mit 4D für iOS. 4D v19 R4 bringt:

  • Die Unterstützung von One to N-Relationen: Anzeige der relativen Daten zu einem Datensatz in der Liste und im Detailformular.
  • Online-Aktionen: Möglichkeit, eine Entität oder eine Entitätsauswahl im Online-Modus zu ändern.
  • Und Objektfeld formatiert: Zeigen Sie Objektfelder in Ihrer mobilen Anwendung in menschenlesbarem Format oder JSON-Format an.

4D Write Pro

Seitenumbruch innerhalb von Tabellenzeilen

4D v19 R4 wird mit neuen Attributen ausgeliefert, um das Layout von Tabellen besser zu definieren. Damit können Sie komplexe 4D Write Pro Dokumente mit Leichtigkeit erstellen, aber vor allem optisch ansprechende Dokumente: Begrüßen Sie den Seitenumbruch innerhalb von Tabellenzeilen. Dies ist nützlich, wenn die Zellen längeren Text (oder mehrere Absätze) enthalten. Es ist vielleicht interessant zu definieren, dass eine Zelle (und damit eine Tabellenzeile) auch in zwei Teile geteilt werden kann, um den verfügbaren Platz auf den Seiten des Dokuments zu füllen:

  • wk page break inside paragraph kann natürlich auf Absätze, aber auch auf jedes beliebige Ziel wie das Dokument selbst, einen bestimmten Abschnitt, einen Textbereich usw. angewendet werden. In allen Fällen wird das Attribut den Absätzen innerhalb des Ziels zugewiesen. Dies ist eine einfache Programmierfunktion.
  • wk page break inside table erlaubt es, eine Tabelle in zwei (oder mehr) Teile aufzuteilen, die Trennung erfolgt zwischen zwei Zeilen der Tabelle (wie üblich)
  • wk page break inside row ermöglicht ebenfalls die Aufteilung einer Tabelle, aber diesmal innerhalb von Zeilen. Beachten Sie, dass diese Option von der vorherigen abhängig ist. Wenn eine Tabelle nicht geteilt werden kann, können es auch ihre Zeilen nicht.

Bitte beachten Sie, dass die Option „Seitenumbruch innerhalb von Tabellenzeilen“ in den Widgets der Symbolleiste und der Seitenleiste verfügbar ist.

Unterstützung des dunklen Modus

Mit 4D v19 R4 ist 4D Write Pro jetzt dunkel. Sie können endlich im hellen oder dunklen Modus auf macOS entwickeln und einsetzen. Die letzten Widgets der Bibliothek sind mit dem dunklen Modus (unter macOS) kompatibel:

  • 4D Write Pro Interface Symbolleiste
  • 4D Write Pro Benutzeroberfläche
  • Seitenleiste Rich-Text-Bereich

4D Ansicht Pro

Arbeitsmappen-Optionen

Wenn Sie ein Dokument mit 4D View Pro erstellen, ist es oft notwendig, die Benutzerfreundlichkeit zu optimieren, indem Sie die Blattregisterkarten oder die Bildlaufleisten ausblenden, das Kontextmenü deaktivieren oder die Drag-and-Drop-Funktion deaktivieren… All diese Funktionen und mehr sind mit dem Befehl VP SET WORKBOOK OPTIONS möglich.

Beschleunigen Sie Ihren Entwicklungsprozess mit Vorlagen.

Die Erstellung von Berichten oder Tabellenkalkulationen aus vorhandenen Vorlagen beschleunigt die Entwicklung. Wie ein Endbenutzer, der die Aktion Kopieren und Einfügen verwendet, können Sie als Entwickler mit 4D v19 R4 einfach einen Bereich von Zellen von einem anderen Ort oder sogar einem anderen Bereich „kopieren“. Mit dem Befehl VP MOVE CELLS können Sie einen Zellbereich an einer anderen Stelle kopieren/ausschneiden und einfügen, auch zwischen zwei Bereichen. Eine andere Möglichkeit, einen Bereich zu kopieren, besteht darin, ihn mit dem Befehl VP Copy to object in ein Objekt zu kopieren, z. B. um ihn in Ihrer Datenbank zu speichern. So können Sie dieses Objekt bei Bedarf mit dem Befehl VP PASTE FROM OBJECT wieder einfügen .

Code-Editor

Schnelles Springen zu verschiedenen Funktionen einer Klasse.

Klassen wurden mit 4D v18 R3 eingeführt. Sie ermöglichen es Ihnen, Ihre Geschäftslogik zu organisieren und sie schneller von der Benutzeroberfläche zu trennen.

Klassen bestehen aus mehreren Funktionen von unterschiedlicher Länge. Daher ist es nicht immer einfach, die zu ändernde Funktion zu finden oder von einer Funktion zur anderen zu wechseln. Es ist zwar möglich, den Explorer zu verwenden, der die Klassen und Funktionen anzeigt, aber wenn Sie im Editor-Fenster programmieren, wollen Sie keine Zeit mit dem Wechseln der Fenster verschwenden.

Mit 4D v19 R4 wird die Liste der Funktionen in Ihrer Klasse in der Symbolleiste des Code-Editors angezeigt, so dass Sie schnell zu einer bestimmten Funktion springen können.

Kommentar-Tags

4D v19 R4 bringt Kommentare auf ein neues Niveau mit Kommentar-Tags , um Ihre Kommentare besser zu organisieren. Tags werden verwendet, um Kommentare zu klassifizieren, indem das Tag einfach an den Anfang der Kommentarzeile gesetzt wird. Wir haben drei Tags zu Ihrer Verfügung gestellt:

  • MARK
  • TODO
  • FIXME

Mit dem MARK-Tag können Sie Ihren Code in Abschnitte unterteilen. Sie können ihn auf drei verschiedene Arten schreiben. Die beiden anderen Tags, TODO und FIXME, werden auf die gleiche Weise geschrieben. Das Interessante daran ist, dass sie unterschiedliche Symbole in der Liste haben, die es Ihnen ermöglichen, Ihren Code zu organisieren und Prioritäten für Ihre zukünftigen Aktionen zu setzen.

Verbesserte Produktivität mit der Syntax der Objektprüfung

DieAutovervollständigung für Klassen ist seit 4D v18 R4 verfügbar. Diese Funktion vereinfacht das Schreiben von Code und begrenzt Fehler in Funktionsnamen. Aber es vermeidet sie nicht vollständig; es ist leicht, zwei Buchstaben zu vertauschen oder einen Großbuchstaben zu vergessen. Und dann verbringt man viel Zeit damit, herauszufinden, warum der Code nicht funktioniert. Was gibt es also Besseres, als 4D zu bitten, zu prüfen, ob die Klassen oder Funktionen bereits existieren? Ab 4D v19 R4 wird im Code-Editor eine Warnung angezeigt, wenn Sie eine Funktion aufrufen, die nicht existiert.

Neue Möglichkeiten zur Anpassung des Code-Editors

Zusätzlich zur Anpassung des Fensters und des Codebereichs bietet 4D v19 R4 zwei neue Anpassungsoptionen:

  • Ein- und Ausblenden der zehn Zwischenablagen.
  • Das Symbol „Listen ein-/ausblenden“ wurde nach unten rechts neben die Listen verschoben.

Bereitstellung

Verwenden Sie duplizierte zusammengeführte Client-Anwendungen.

Als Softwarehersteller haben einige Ihrer Kunden manchmal viele Instanzen Ihrer zusammengeführten Serveranwendung, zum Beispiel eine zusammengeführte Serveranwendung für jedes Unternehmen einer Gruppe. Bei dieser Art von Bereitstellungsarchitektur bitten die Mitarbeiter Ihres Kunden Sie oft, eine zusammengeführte Client-Anwendung für jede zusammengeführte Server-Anwendung auf ihrem Computer zu installieren, da sie die Software für jedes Unternehmen verwenden möchten. Von nun an steht Ihnen ein neuer buildApp-Schlüssel zur Verfügung, mit dem jede duplizierte zusammengeführte Client-Anwendung ihren eigenen Benutzereinstellungsordner verwenden kann (basierend auf ihrem Anwendungspfad): ClientUserPreferencesFolderByPath.

Wollen Sie mehr wissen? Lesen Sie alle Blogbeiträge über 4D v19 R4