Was ist neu in 4D v18

Dieses Dokument ist eine Zusammenfassung der neuen Features in 4D v18. Zu jedem Feature gibt es ein weiterführendes Blog Post mit konkreten Beispielen. Um es aufzurufen, klicken Sie auf die Untertitel in den einzelnen Themenbereichen (gilt nicht für das erste Thema “Projekt Anwendung”). Über die Links “Dokumentation lesen” am Ende von Absätzen gelangen Sie zu ausführlichen Beschreibungen in der 4D Dokumentation.

Neue Features, die zwischen 4D v17 R6 und 4D v18 veröffentlicht wurden, sind mit dem Tag gekennzeichnet. 

Das Dokument ist in sieben Abschnitte gegliedert:

Projekt Anwendung – Version Control

Eine mit 4D v18 ausgelieferte Lösung erleichtert verteilten Teams die Zusammenarbeit, indem sie den Quellcode in einem Source Control System mit textbasierten Dateien speichert. Sie können die Vorteile der leistungsstarken 4D Entwicklungsplattform kombiniert mit der Vielseitigkeit von leichtgewichtigen und vom Menschen lesbaren Dateien nutzen.

 

Architektur 

Eine Projekt Anwendung enthält den gesamten Quellcode einer 4D Anwendung, von der Datenbankstruktur bis zur Benutzeroberfläche, einschließlich Formulare, Menüs, Benutzereinstellungen sowie alle erforderlichen Ressourcen. Da Projekt Anwendungen aus textbasierten Dateien bestehen, enthalten Projekte mehrere Ordner und Dateien, die in einem einzigen übergeordneten Datenbankordner gespeichert sind. Wenn Sie eine Projekt Anwendung erstellen, finden Sie mehrere Ordner wie in einer binären Anwendung:

  • Data
  • Logs
  • Resources
  • Settings
  • WebFolder

Zusätzlich gibt es folgende Ordner:

  • Project – Quellcode der Anwendung (entspricht .4db)
  • userPreferences.<name> – Enthält Dateien der gespeicherten Benutzerkonfigurationen (z.B. Position der Unterbrechungspunkte (breakpoint), Fensterpositionen, etc).
    Dokumentation lesen

 

Eine vorhandene binäre Anwendung konvertieren 

Um eine Projekt Anwendung zu erstellen, gibt es zwei Wege: Sie können eine neue leere Anwendung erstellen oder eine vorhandene binäre Anwendung (.4db) in einen Projektordner exportieren. Um eine bestehende binäre Anwendung zu konvertieren, öffnen Sie die Anwendung und wählen im Menü Datei > Exportieren > Struktur in Projekt. Danach erscheint eine Meldung über den Abschluss der Konvertierung. 4D informiert Sie auch über aufgetretene Fehler, die Ihr Eingreifen erfordern. Das betrifft z.B. ältere Formularobjekte, die nicht mehr unterstützt werden.
Dokumentation lesen

Nach dem Konvertieren 

Bei der Struktur einer binären Anwendung wird die Beschreibung in zwei Dateien (.4DB und.4DIndx) gespeichert. Bei einer Projekt Anwendung ist diese Beschreibung in den Dateien, die im Ordner “Project” gespeichert sind. Nach der Konvertierung können Sie die folgenden Dateien aus dem Projektordner entfernen (wenn Sie möchten): <Datenbank>.4db und <Datenbank>.4dIndy. Die Daten für neue Projekt Anwendungen liegen im Ordner “Data” auf der gleichen Ebene wie der Ordner “Project”. Daher unterscheidet sich eine Datei, die sich neben dem Ordner Data befindet, bereits in der Entwicklungsphase von einer Datei, die sich neben der Struktur befindet. Wir empfehlen, nach der Konvertierung einen Ordner mit den Daten auf der gleichen Ebene wie den Ordner “Project” anzulegen und die Dateien data.4dd und data.4DIndx in diesen Ordner zu verschieben. Um die Dateien übersichtlich zu halten, benennt 4D Dateien mit “Preferences” für Parameter zum Entwickeln der Anwendung, wie z.B. die Konfiguration des Code-Editors, und “Settings” für Parameter zur Weitergabe der Anwendung, wie z.B. Speicher- oder Backup-Einstellungen.

Benutzer und Gruppen verwalten

Da Projekt Anwendungen komplett auf offenen Textdateien basieren, gibt es für die Benutzer- und Gruppenverwaltung keinen Grund mehr, den Code zu schützen. Diese Rolle wurde an das Version Control System bzw. die Verwaltung der Zugriffsrechte des Betriebssystems für Dateien und Ordner delegiert. Infolgedessen werden Benutzer und Gruppen nur noch für den Zugriff auf Daten verwendet. Sie werden in einer Textdatei mit Namen “directory.json” neben der Datendatei gespeichert.

Verbesserte Weitergabe 

Es ist nicht mehr erforderlich, zwischen Entwicklern und Benutzern zu unterscheiden. Beide sind jetzt vom Typ “User”. Um die Weitergabe der Anwendung zu vereinfachen, akzeptieren die Befehle Get 4D file und File die neue Konstante Directory file, so dass sie einfach und automatisch die richtige Datei bearbeiten können.

Beim Konvertieren und Migrieren

Die Datei directory wird während der Konvertierung automatisch generiert und neben die Datei “Settings” des Projekts gelegt. Haben Sie bisher zum Speichern Ihrer Benutzer und Kennwörter den Befehl BLOB TO USERS verwendet, erzeugt er jetzt diese Datei directory, so dass Sie Ihren vorhandenen Code nicht verändern müssen. 

Einzelplatz Modus

Im Einzelplatz ist das Kennwortsystem immer deaktiviert. Der aktuelle Benutzer ist immer der Designer und kann nicht verändert werden. Zugriffsrechte von Benutzern und Gruppen lassen sich an das System delegieren. Wollen Sie den Designer-Namen mit dem System-Account oder Ihren eigenen Benutzernamen verbergen, können Sie über den Befehl  SET USER ALIAS ein Alias anlegen. 

Client/Server Modus

Im Client/Server Modus sind Benutzer und Gruppen voll funktionsfähig. Sie können den aktuellen Benutzer oder ein Kennwort ändern, ein Alias setzen, etc. 

Toolbox

Die Toolbox Seiten für Benutzer und Gruppen sind in beiden Modi verfügbar. Im Einzelplatz sind Änderungen über die Toolbox jedoch nur für den Einsatz im Client/Server Modus wirksam.  

 

Ihre Anwendung bereitstellen 

Die Bereitstellung besteht aus zwei Schritten: Code kompilieren und Anwendung erstellen. Sie können Ihre Projekt Anwendung genauso kompilieren wie Ihre binäre Anwendung (.4db). Die Oberfläche und der erzeugte Maschinencode sind identisch. Der einzige Unterschied ist der Speicherort für das kompilierte Ergebnis: Für binäre Anwendungen wird es in der Datei .4db gespeichert, für Projekt Anwendungen im Ordner “Project/DerivedData/CompiledCode”. Sie müssen keine Änderungen vornehmen, um Ihre Anwendungen zu erstellen (kompilierte Datenbank, Komponente, eigenständige Anwendung, Client/Server-Anwendung), Sie können die Konfigurationsdatei Ihrer binären Anwendung auch mit Ihrer konvertierten Projekt Anwendung verwenden. Nur die erzeugten Dateien unterscheiden sich: Projekt Anwendungen haben eine Datei “.4dz” anstelle der Datei “4dc”.
Dokumentation lesen

Upload in ein Source Control System 

Beim Kompilieren Ihrer Anwendung speichert 4D den kompilierten Code im Ordner “Project/DerivedData”. Wir empfehlen, die Ordner “Resources”, “WebFolder” und “Project” (ohne den Unterordner “DerivedData”) in ein Source Control System hochzuladen. 

 

Stilvorlagen werden zu CSS 

Die Möglichkeiten von Stilvorlagen wurden drastisch erweitert. 4D hat sich von der Grammatik und Syntax von CSS für Stilvorlagen der Projekt Anwendungen inspirieren lassen und diese an die spezifischen Anforderungen von 4D Formularen angepasst. Auf diese Weise können Sie die Eigenschaften von Formularobjekten über Stilvorlagen konfigurieren.
Dokumentation lesen

 

Verschlüsselung 

4D führt neu die Verschlüsselung von Daten für Ihre 4D Anwendungen ein. Daten lassen sich per Code oder über die Benutzeroberfläche, für alle oder nur für ausgewählte Tabellen verschlüsseln. Die Verschlüsselung in 4D basiert auf einer Passphrase. Das kann ein kompletter Satz oder eine umfangreiche Anzahl von Zeichen sein. Daraus wird ein binärer Verschlüsselungscode generiert, um die Daten mit dem AES Algorithmus zu verschlüsseln. Zum Arbeiten mit einer verschlüsselten Datendatei ist die Passphrase oder der binäre Verschlüsselungscode erforderlich. 4D verschlüsselt die Daten auf Dateiebene, d.h. Ihre Datendatei (4DD), Ihr Backup und Ihr Journal sind verschlüsselt. Das bietet nicht nur Sicherheit auf Ihrem eigenen Rechner, sondern macht auch Kopieren von Backups über die Cloud oder externe Festplatten viel sicherer, da die Daten verschlüsselt bleiben.

 

Über das MSC verschlüsseln 

Im Designmodus gibt es für Tabellen im Inspektorfenster die neue Eigenschaft Verschlüsselbar. Ist sie markiert, lässt sich die Tabelle verschlüsseln. Das Verschlüsseln Ihrer Daten ist am einfachsten über die neue Seite Verschlüsseln des MSC (Maintenance und Security Center). Sie enthält alle notwendigen Funktionalitäten zum Verwalten der Datenverschlüsselung: Sie können die Datendatei verschlüsseln oder entschlüsseln, erneut verschlüsseln oder Ihre Passphrase ändern.
Dokumentation lesen

 

Über 4D Befehle verschlüsseln

Zusätzlich zum MSC gibt es einen Satz Befehle, der für die Anforderungen der Verschlüsselung eingerichtet wurde. Sie können z.B. die Verschlüsselung mit dem Befehl Encrypt data file() steuern oder über den Befehl provideDataKey() den Verschlüsselungscode für eine geöffnete Datendatei liefern. Mit encryptionStatus() können Sie prüfen, ob eine geöffnete Datendatei verschlüsselt ist und ob ein gültiger Verschlüsselungscode geliefert wurde. Die komplette Liste der Befehle finden Sie im Handbuch 4D Programmiersprache.
Dokumentation lesen

Weitere Informationen zur Verwaltung von Sicherheitsanliegen für Ihre 4D Geschäftsanwendungen finden Sie in unserem Security Guide.

 

4D for iOS 

 

Mit 4D for iOS können Sie Ihre Geschäftsanwendungen auch für mobile Geräte erweitern. 4D for iOS ist voll in 4D integriert, so dass keine zusätzliche Installation (außer Xcode) oder anderweitiges Fachwissen erforderlich sind. Hier sehen Sie die Features, die wir mit diesem Release liefern:

 

Actions

Über “Actions” können Benutzer Daten direkt in Ihrer iOS App bearbeiten. Zum Schutz Ihrer Geschäftslogik wird jede “Action” an 4D gesendet das Ihre 4D Methoden ausführt, um zu prüfen, zusätzliche Daten zu berechnen und abschließend die Benutzereingabe zu bestätigen oder zurückzuweisen. Es gibt auch vordefinierte Aktionen zum Verwalten Ihres App Inhalts, wie Hinzufügen, Bearbeiten und Löschen.
Dokumentation lesen

 

Daten-Formatierer

4D for iOS führt ein neues Konzept ein: Data Formatters. Damit können Sie für Ihre Felder spezifische Datentypen definieren, um den Inhalt im richtigen Format anzuzeigen. Sie können das Standardformat Ihrer Felder schnell überschreiben, um das Format Ihrer Wahl anzuzeigen, wie z.B. Währung, Boolean, Prozentsatz, Datum und vieles mehr. Sie können z.B. ein Bild verwenden, um für Rechnungen “bezahlt” und “nicht bezahlt” zu visualisieren. Hier passt perfekt ein gefülltes bzw. leeres Optionsfeld auf dem iPhone.
Dokumentation lesen

 

Suchen nach mehreren Kriterien

4D for iOS unterstützt Suchen in mehreren Feldern. Nach Auswählen Ihres Template für Listenformular ziehen Sie für die Suche nach mehreren Kriterien die entsprechenden Felder in den Suchbereich. Geben Sie mehrere Werte für dasselbe Feld an, wird im Hintergrund ein ODER Operator verwendet. Sie können beispielsweise Firmenname, Nachname und Stadt in den Suchbereich ziehen, damit der Benutzer über diese Kriterien nach einem Kunden suchen kann.
Dokumentation lesen 

 

Eingeschränkte Suchen

Das neue Konzept Restricted queries erlaubt, eine begrenzte Auswahl an Daten mit Ihrer mobilen App zu synchronisieren. So können Sie z.B. für einen Vertriebsmitarbeiter die Auswahl Kunden nach Region oder Zuständigkeit filtern, die Suche auf aktive Kunden oder die Rechnungen des letzten Jahres beschränken. Das ist sehr effektiv, spart Zeit und jede Menge Platz auf Ihrem iPhone. 
Dokumentation lesen

 

Incremental Data Synchronization

Ein anderes interessantes Konzept in 4D for iOS ist die inkrementelle Synchronisation der Daten, d.h. es werden nur die geänderten, nicht alle Daten übertragen. 4D erkennt aktualisierte oder gelöschte Datensätze automatisch und aktualisiert nur diese Daten auf dem mobilen Gerät. Ihre Daten werden beim Starten Ihrer App aktualisiert, sowie jedes Mal, wenn Ihre App nach vorne geht oder als Antwort auf eine Benutzeraktion.
Dokumentation lesen

 

Verknüpfungen verwalten

4D for iOS unterstützt Viele-zu-Eine und Eine-zu-Viele Verknüpfungen. Bei Viele-zu-Eine können Sie einfach verknüpfte Felder in einem Formular für das iPhone wie Felder der Haupttabelle verwenden. Bei Eine-zu-Viele enthält das Formular eine Schaltfläche, die auf eine andere Seite mit der Liste der verknüpften Datensätze wechselt. So kann der Benutzer mit einem Fingerwischen hin- und her wechseln.
Dokumentation lesen

 

Ihre App anpassen

Eigene Templates für Listen- oder Detailformular erstellen

4D for iOS bietet verschiedene Templates für Listen- oder Detail-Formulare, die gängige Anforderungen abdecken. Sie können auch leicht eigene Templates anlegen. Mit Xcode Kenntnissen oder via Xcode Storybuilder können Sie neue Templates anlegen oder bestehende mit allen Funktionen von iOS anpassen. Das selbst erstellte Template lässt sich genauso wie ein vorgegebenes Template verwenden.
Dokumentation lesen

Eigene Icons hinzufügen

4D for iOS hat eine umfangreiche Library mit Icons zu vielen Bereichen, wie Handel, Finanzen, Bildung, Gesundheit, Industrie, Immobilien, Services, etc. Sie können auch eigene Icons hinzufügen.
Dokumentation lesen

Eigene Daten-Formatierer anlegen

4D for iOS enthält Basisformatierer für Datum, Prozent, Zeit, etc. Sie können auch eigene Formatierer erstellen und direkt im Projekt-Editor verwenden: z.B. integertoString, um interne Nummern für Liefercodes mit Namen zu ersetzen; integerToImage, um Stufen für den Partnerstatus 1,2,3,4 mit farbigen Badges zu ersetzen.
Dokumentation lesen

 

ORDA

4D v18 bietet weitere Verbesserungen für ORDA mit folgenden Features:

Remote datastore 

Sie sind nicht mehr auf die aktuelle Anwendung beschränkt, sondern können auf eine oder mehrere remote 4D Anwendungen zugreifen, die auf 4D Server(n) veröffentlicht sind. Eine remote Anwendung lässt sich als eine REST Ressource veröffentlichen und ist über 4D Client Software zugänglich. Sie lässt sich direkt im Lese-/Schreibmodus mit ORDA Konzepten verwenden (was die REST Anfragen zwischen Client und Server auslöst). Natürlich werden auch TLS Verbindungen unterstützt. Sie können den Zugriff auf bestimmte 4D Benutzer beschränken oder über Benutzer/Kennwort selbst steuern. Auch wenn Sie den Web Server für den Zugriff auf den REST Server einsetzen, benötigen Sie keine Web Server Lizenz. Für die Verbindungen sind nur standardmäßige 4D Client Lizenzen erforderlich.
Dokumentation lesen 

 

Logbuch für ORDA Anfragen 

Es gibt neue ORDA Methoden für das Objekt ds, die Ihre ORDA Anfragen protokollieren und so für ein besseres Verständnis der gesendeten Anfragen sorgen. Die Methode startRequestLog() ist sehr flexibel, da sie ORDA Anfragen beim Aufrufen mit einem Objekt File in einer Datei oder im Hauptspeicher protokollieren kann. Die Methode stopRequestLog() stoppt das Protokollieren von ORDA Anfragen.
Dokumentation lesen 

 

Neue Methode zum Sortieren einer Entity Selection 

Mit Formeln können Sie eine Entity-Selection mit komplexen Kriterien in einer Projektmethode oder einem 4D Ausdruck sortieren. Die Formel bestimmt das Sortierkriterium, das als String oder Objekt Formula in der Member-Methode orderByFormula() übergeben wird.
Dokumentation lesen

 

Komplexe Suchen mit Formeln 

Die Member-Methode query() wurde erweitert. Sie unterstützt jetzt als Parameter ein Objekt Formula und gibt ein neues Objekt vom Typ EntitySelection mit allen gefundenen Entities zurück. Das bietet noch mehr Möglichkeiten für komplexe Suchen.
Dokumentation lesen

 

Performance Optimierung im Client/Server-Modus

Der Zugriff auf umfangreiche Tabellen (besonders solche mit Verknüpfungen) im Client/Server-Modus über ORDA wurde stark verbessert. Bei Entity Selections in Listboxen oder Code Schleifen (z.B., While oder For each) werden die benutzten Felder automatisch analysiert, um den Netzwerkverkehr zu optimieren. Das ergibt 2-3 mal schnellere LAN Leistung und bis zu 30 mal schnellere in WAN (je nach Netzwerk und Größe der Datensätze). Und das Allerbeste ist – Sie müssen nichts in Ihrem Code verändern, alles läuft automatisch.
Dokumentation lesen

 

Methoden für Informationen zur Struktur

Es gibt viele Methoden, um Angaben zur Struktur, wie Tabellen- oder Feldnummer, zu erhalten. Sie sind besonders hilfreich, wenn Sie ORDA Schritt-für-Schritt in Ihren klassischen 4D Code einfügen. Hauptziel dieser Member-Methoden ist, dass Sie generischen Code schreiben können, der sich unabhängig von der jeweiligen Datenbankstruktur anwenden lässt.
Dokumentation lesen

 

Platzhalter für Attributspfade

Sie können Platzhalter für Attributspfade (Feldnamen in Tabellen) verwenden. Es gibt zwei Arten: Index – wird als :paramIndex (z.B. :1, :2,… mit Erhöhung von 1) im Suchstring eingefügt und die entsprechenden Werte werden als Sequenz der Parameter value geliefert, oder Name – wird als :paramName eingefügt und ihre Werte werden in den Objekten Attribute bzw. Parameter im Suchstring geliefert.
Dokumentation lesen

Platzhalter als Name für Werte

Generische ORDA Suchen lassen sich jetzt einfacher definieren, da es Platzhalter als Name für Werte gibt. Sie werden als Objekt Parameter in den Sucheinstellungen übergeben und beim Bewerten des Suchkriteriums durch einen anderen Wert ersetzt. 
Dokumentation lesen

 

4D Programmiersprache & weitere Programmier-Features

Send Mail

Es gibt eine neue Art zum Erstellen und Senden von E-Mails. Diese neue Funktionalität ist einfach zu handhaben – und auch leistungsstärker als die bisherige Vorgehensweise mit 4D Internet Commands. Mit dem neuen Befehl SMTP New transporter  können Sie eine neue SMTP Verbindung konfigurieren. E-Mails erstellen und senden erfolgt in drei Schritten: Ihren SMTP Transporter erstellen, ein Mail Objekt erstellen, dann E-Mail senden. Ein Mail Objekt hat verschiedene Eigenschaften, wie z.B.  fromccbctosender,textBody, htmlBody. Mit dem Befehl MAIL New attachment lässt sich zusätzlich ein Anhang hinzufügen. Ist das Mail Objekt angelegt, kann es mit dem Befehl transporter.send() gesendet werden.

Protokoll der Kommunikation über SMTP

Der Befehl SMTP New transporter erstellt eine Verbindung zwischen einem SMTP Server (wie exchange oder gmail) und dem Client, und protokolliert auf Wunsch – in reinem, unverschlüsseltem Text – die gesamte KommunikationDie neue Eigenschaft transporter.logFile gibt den vollständigen Pfad des Logbuchs an. Die Datei lässt sich in zwei Versionen herstellen: Reguläre oder erweiterte Version. Beide Versionen lassen sich über den Befehl SET DATABASE PARAMETER auslösen.
Dokumentation lesen

MIME Dokument analysieren, ändern und erneut senden

Der neue Befehl MAIL Convert from MIME konvertiert ein empfangenes E-Mail oder ein erstelltes MIME-Dokument aus 4D Write Pro in ein Objekt. Auf diese Weise können Sie das Objekt nach Bedarf bearbeiten, also Betreff ändern, Empfänger hinzufügen oder entfernen, Hauptteil verändern, Anhänge hinzufügen, usw. – und dann das Dokument senden.
Beispiel: Sie erstellen mit 4D Write Pro ein E-Mail im HTML-Format mit statischen Bildern im Text und wollen es senden. Gehen Sie folgendermaßen vor:

  • Exportieren Sie Ihr 4D Write Pro Dokument in MIME Format,
  • Rufen Sie MAIL Convert from MIME auf, um das MIME in ein E-Mail Objekt umzuwandeln,
  • Dann senden Sie es via SMTP New transporter.
    Dokumentation lesen 

 

Debugger in kompilierten und doppelklickbaren Anwendungen aktivieren

Sie können bei Verwendung von PROCESS 4D TAGS den Debugger auch in kompilierten Anwendungen benutzen. Dazu setzen Sie im Befehl PROCESS 4D TAGS den Befehl TRACE im Code zwischen die Tags <!–#4DCODE–>.
Dokumentation lesen

 

Eigenen Anmeldedialog zur Auswahl des Servers einrichten

Sie können Ihren eigenen Anmeldedialog für einen “Build”-Server erstellen.
Dokumentation lesen

 

Überarbeiteter Befehl Form event

Der Befehl Form event wurde in Form event code umbenannt, um ihn vom neu hinzugefügten Befehl FORM Event, der ein Objekt zurückgibt, zu unterscheiden – Sie müssen Ihren Code nicht verändern. FORM Event gibt ein Objekt mit Information über das gerade eingetretene Formularereignis zurück, sowie je nach Objekt zusätzliche Eigenschaften, wie object name.
Dokumentation lesen

 

Objektnotation zum Verwalten von Dateien und Ordnern 

Dateien und Ordner auf Ihrer Festplatte zu erstellen, ändern oder löschen ist viel einfacher und intuitiver geworden. Mit dem neuen Befehl Folder können Sie ein Objekt Folder über eine Konstante, einen POSIX Pfad oder einen Plattform Pfad anlegen. Das Objekt Folder hat Eigenschaften (z.B. namemodificationDatemodificationTime) und Methoden (z.B., create()moveTo()rename()delete()) zum Erstellen und Verwalten von Ordnern. Mit dem neuen Befehl File können Sie Dateien verwalten und auf Dateiattribute zugreifen. Über Dateimethoden können Sie den Inhalt des Objekts File schreiben und lesen, verschieben, löschen, etc.
Dokumentation lesen

 

Zip Befehle

Sie können Ihre Files per Code komprimieren/entkomprimieren – ohne Aufrufen externer Libraries oder Tools. Im Befehl Zip Create archive übergeben Sie ein Objekt File oder Folder zum Komprimieren und optional ein Objekt mit Parametern. Der Befehl ZIP Read archive zeigt den Inhalt des ZIP Archivs an, so dass Sie die Liste der Files sehen, ein bestimmtes Objekt File oder das ganze Archiv extrahieren können. Erstellen oder Verwenden eines gezippten Objekts File arbeitet ähnlich wie die Befehle File und Folder und halten Ihren Code einfach und übersichtlich.
Dokumentation lesen

 

Aktuelle Aufruffolge abfragen 

Der neue Befehl Get call chain gibt die Aufruffolge der gerade laufenden Methoden zurück. Das ist hilfreich, wenn eine Methode andere Methoden aufruft, die ihrerseits weitere Methoden aufrufen. Der Befehl gibt eine Collection von Objekten zurück, die jeweils einen Schritt der Aufruffolge beschreiben und Struktur, Typ, Name der Methode sowie die Zeilennummer angeben. Er lässt sich im interpretierten und im kompilierten Modus verwenden.
Dokumentation lesen

 

Debug Logs analysieren 

Es gibt ein neues Tool zur Unterstützung beim Analysieren von Debug-Protokollen. Sie können z.B. sehen, welche Prozesse am meisten Zeit verbrauchen, wie lange eine bestimmte Operation läuft, u.v.m. Auf diese Weise können Sie leichter Konflikte in Ihrem Code herausfinden und die Performance Ihrer Datenbank verbessern.

 

Programm ohne Oberfläche starten

Sie können eine 4D Applikation ohne Oberfläche, d.h. im headless Modus starten. Dazu verwenden Sie Befehlszeilen (CLI – Command Line Interface) mit dem neuen Parameter headless. Das ist für alle Typen verfügbar: 4D, 4D Server, Einzelplatz, remote, doppelklickbare Anwendungen. Fehlermeldungen oder andere Dialoge werden automatisch aufgefangen und an ein Diagnoseprotokoll weitergeleitet, so dass Stoppen des Server verhindert wird. 
Dokumentation lesen

 

Preemptive

Überprüfung von thread-Sicherheit lokal deaktivieren

Sie können den Compiler anweisen, dass er einen Teil des Code nicht auf Thread-Sicherheit prüfen soll. Das ist für Code der Fall, der innerhalb einer Anweisung If oder Case of liegt und nur im kooperativen Modus ausgeführt wird. Dazu müssen Sie den betreffenden Code mit den speziellen Direktiven %T- und %T+ als Kommentare umrahmen. //%T- deaktiviert die Überprüfung von Thread-Sicherheit, //%T+ aktiviert sie wieder.
Dokumentation lesen

Preemptive Prozesse auf 4D Remote

Ihre Prozesse lassen sich preemptive auf 4D Remote ausführen, so dass Sie die Leistung von Multicore-Computern voll ausschöpfen können. Splitten Sie eine Operation in Einzelteile und führen Sie diese parallel auf allen verfügbaren Cores aus, um so Ihre Ergebnisse schneller zu erhalten.
Dokumentation lesen

Mehr thread-safe Befehle

Mit dem breiten Spektrum an thread-safe Befehlen können Ihre Anwendungen die Vorteile von multi-core Computer voll ausnutzen und so bei gleichzeitigen Anfragen schnellere Antworten erhalten.

Folgende 4D Befehle sind jetzt thread-safe: COMPRESS BLOBEXPAND BLOB, BLOB PROPERTIES, ENCRYPT BLOB, DECRYPT BLOB,GENERATE ENCRYPTION KEYPAIR, GENERATE CERTIFICATE REQUEST, RECEIVE BUFFER, SET DEFAULT CENTURY, GET DOCUMENT ICON, TRANSFORM PICTURE, SVG EXPORT TO PICTURE, Get localized document path, Get database localization, LOCKED BY, LOG EVENT, Current client authentication, GET MEMORY STATISTICS.
Dokumentation lesen

Begin/End SQL im preemptive Modus

Begin SQLEnd SQL, sowie zugeordnete SQL Anweisungen, die die interne Datenbank verwenden, können jetzt auch preemptive ablaufen. Mit diesen Befehlen können Sie all Ihre Anfragen parallel starten und die Geschwindigkeit Ihrer Anwendungen steigern. Auf diese Weise kann jede Menge Aktivität asynchron laufen.
Dokumentation lesen

Ihre Prozesse synchronisieren

Mit dem neuen Befehl New signal können Sie z.B. Arbeiten an einen kooperativen Prozess delegieren, um einen nicht-preemptive Befehl zu verwenden. Der Befehl erstellt ein shared object und kann das Fortschreiten des aktuellen Prozesses mit den beiden neuen Methoden trigger() und wait() verwalten.
Dokumentation lesen

 

Das Ereignis On Resize in Unterformularen auslösen

Bei einem Formular mit einem oder mehreren Unterformularen können Sie das Ereignis On Resize direkt in der Unterformularmethode verwalten. Es wird jedes Mal ausgelöst, wenn die Größe des Objekts Unterformular im Hauptformular geändert wird. Das passiert in folgenden Fällen:

  • Das Hauptformular wird angepasst
  • Ein Splitter ändert die Höhe oder Breite des Objekts Unterformular
  • Die Größe eines Unterformulars wird über den Befehl OBJECT Set coordinates geändert
    Dokumentation lesen

 

Neuer Datentyp Variant

Der neue Befehl C_VARIANT setzt jede angegebene Variable als Variant, d.h. sie kann eine der folgende 4D Datentypen enthalten: BLOB, Boolean, Collection, Datum, Lange Ganzzahl, Objekt, Bild, Zeiger, Zahl, Text, Zeit, Null, Undefiniert (außer  Array). Über Type finden Sie den Typ der Variablen, über Value type den Typ des Werts. Der Typ Variant vereinfacht das Schreiben von generischem Code, z.B. kann eine Methode als Parameter entweder Text oder BLOB empfangen, und muss nicht mehr den Umweg über einen Zeiger nehmen.
Dokumentation lesen

 

4D Objektfelder mit SQL Engine lesen

Die SQL Engine wurde aktualisiert, so dass auch 4D Objektfelder lesbar sind. Die SQL-Funktion CAST wurde erweitert. Sie gibt jetzt eine JSON Darstellung des Feldes zurück.
Dokumentation lesen

 

Verbessertes Testen der Datenbank

4D Produkte können bereits über Befehlszeilen gestartet werden, um automatisches Testen oder Bereitstellen zu ermöglichen. Die neu hinzugefügten Parameter geben Ihnen noch mehr Flexibilität beim Öffnen Ihrer Datenbanken:

–opening-mode definiert das Öffnen der Datenbank im interpretierten oder im kompilierten Modus

–create-data legt eine neue Datendatei an, wenn keine gültige Datendatei gefunden wurde oder mit einem spezifischen Namen, wenn Daten vorhanden sind

–user-param sendet einen String, der sich nach dem Starten der Datenbank über den Befehl GET DATABASE PARAMETER auslesen lässt. Dokumentation lesen

 

Alternativen Namen für das 4D Benutzer-Account definieren

Mit dem neuen Befehl SET USER ALIAS können Sie einen eigenen Namen anstelle des aktuellen 4D Benutzer-Accounts definieren. Im Parameter Alias übergeben Sie einen String, der den 4D Benutzernamen in der 4D Umgebung ersetzt. Über das Alias können Sie Ihr eigenes Benutzer/Kennwortsystem oder ein externes Benutzerverzeichnis, wie Active Directory oder LDAP verwenden. Dabei bleiben alle Vorteile der Konzepte zur Benutzeridentifikation in 4D erhalten.
Dokumentation lesen

 

Klassisches 4D Formular in dynamisches Formular umwandeln

Der neue Befehl FORM Convert to dynamic konvertiert ein klassisches 4D Formular (gespeichert in .4DB Datei) in ein dynamisches Formular. Sie übergeben den Formularnamen und erhalten ein Objekt mit der Beschreibung des Formulars zurück. Dann können Sie je nach Ihren Anforderungen Formularoptionen, wie Schriftgröße oder Anordnung der Objekte auf dem Bildschirm verändern.
Dokumentation lesen

 

Verbesserungen für das Debug Log

Der Befehl SET DATABASE PARAMETER wurde erweitert, so dass jetzt auch Debug-Logs nur für bestimmte Prozesse möglich sind. Außerdem enthalten Debug Logs jetzt auch Methoden (Collection oder Objektmethoden). Der neue Selector Current process debug log recording startet das Debug Log des aktuellen Prozesses. 
Dokumentation lesen

 

Dynamische Formulare und Eingabefolge

Sie können eine eigene Eingabefolge definieren, die sich nicht nach der Z-Folge (davor/dahinter) richten muss. Das Attribut “objects” hat für jede Seite des Formulars eine Liste von Formularelementen, die in der Reihenfolge ihrer Position/Z-Folge angeordnet sind. Diese Liste hat das neue Attribut “entryOrder” erhalten. Damit können Sie Ihre eigene Eingabefolge angeben. Ohne dieses Attribut verwendet 4D die Z-Folge der Eingabe (z.B. die im Attribut “objects” definierte Reihenfolge).
Dokumentation lesen

 

Clients mit mehreren Instanzen

Jetzt können mehrere Clients auf demselben Rechner laufen und sich gleichzeitig an den gleichen 4D Server anmelden. Jede Client Verbindung enthält einen eigenen Cache Ordner mit der IP Adresse, dem Port und einem Hash Code der Verbindung. Auf diese Weise können Sie auch mehrere Clients vom gleichen Rechner an mehrere Server auf anderen Rechnern anmelden. Dafür ist keine Konfiguration erforderlich.
Dokumentation lesen

 

Eigene Methoden für Objekte schreiben

Der Befehl Formula wurde erweitert und umbenannt in New Formula. Jetzt können Sie auch Formeln als Objekte erstellen. Sie können Parameter oder Zugriff auf den Inhalt des Objekts Formel übergeben. Eine Formel als Objekt kann Berechnungen für Objektattribute durchführen und an Befehle oder Methoden übergeben. Objekte können eine eigene Callback- oder Fehlerverwaltungsmethode haben. Verwenden Sie bereits ORDA oder schreiben auf klassischer Auswahl basierenden Code, gewinnen Objekte mehr und mehr an Leistungsstärke.
Dokumentation lesen

4D Kommentarblöcke

Kommentare können einzeilig sein oder über mehrere Zeilen gehen. Sie müssen nicht mehr vor jede Zeile // setzen, sondern können für den gesamten Kommentarblock am Anfang /* und am Ende */ setzen und diesen auf- und zuklappen. Die Kommentare lassen sich an beliebiger Stelle einer Zeile hinzufügen, sogar innerhalb einer if Bedingung oder einer Schleife.
Dokumentation lesen

Unterstützung des SVG Attributs “non-scaling-stroke”

Im SVG-Standard bedeutet das Attribut “non-scaling-stroke”, dass die Strichbreite nicht vom Zoom oder der Skalierung abhängt. Mit anderen Worten, die Linien eines Objekts werden nicht durch Transformationen und Zoomen beeinflusst. Das Thema “4D SVG” hat neue Befehle erhalten. Sie können das Attribut “non-scaling-stroke” für Zeichenobjekte mit der Methode VG_SET_STROKE_VECTOR_EFFECT definieren.
Dokumentation lesen

 

Befehle zur 4D Server Administration

Die Liste der Befehle ist jetzt vollständig. Sie können nun auch per Programmiersprache alles steuern, was bisher nur über den 4D Server Administrationsdialog möglich war. Dies erlaubt z.B. die Nutzung von Faceless-Servern und die Steuerung über einen Client oder per Web-Zugriff:

  • SEND MESSAGE TO REMOTE USER, um eine Meldung vom Server an einen remote Benutzer zu senden
  • Get process activity gibt eine Liste der Benutzersitzungen
  • DROP REMOTE USER zum Beenden einer Benutzersitzung
  • ABORT PROCESS BY ID, um einen spezifischen Prozess über seine einmalige Prozessnummer zu stoppen
  • Get process activity oder Process properties zum Herausfinden der einmaligen Prozessnummer
  • REJECT NEW REMOTE CONNECTION zum Blockieren neuer remote Anmeldungen
  • Get application info, um zu sehen, ob Anmeldungen akzeptiert oder abgelehnt wurden
  • SOAP REJECT NEW REQUESTS zum Blockieren von SOAP Anfragen
  • WEB Get server info, um zu sehen, ob Anmeldungen akzeptiert oder abgelehnt wurden
  • Refresh license zum Aktualisieren einer Lizenz (Abruf zusätzlicher Clients oder Module).
    Dokumentation lesen

Mehr Information über Web Prozesse

Es sind weitere Angaben über die von Web Prozessen genutzte URL verfügbar. Das ist auf zwei Wegen möglich: Über das 4D Server Verwaltungsfenster oder über den Befehl Get process activity der 4D Programmiersprache; für den Typ Web Prozess gibt es das neue Attribut “url” mit Angaben zu Pfad und Parametern.
Dokumentation lesen

Der neue Befehl Get application info gibt ein Objekt mit ausführlichen Angaben zur Aktivität und Netzwerkkonfigurationen der aktiven Anwendung zurück. Er lässt sich für einen remote Client und auf dem 4D Server aufrufen.
Dokumentation lesen

Schnellbericht

Events abfangen

Sie können im Befehl QR REPORT den Parameter “methodName” setzen. Diese Methode ist ein Callback für jedes verwaltete Ereignis:
  • qr cmd open
  • qr cmd save
  • qr cmd save as
  • qr cmd generate
  • qr cmd page setup
  • qr cmd print preview

In der Callback-Methode können Sie alle verwalteten Ereignisse abfangen, das Erforderliche durchführen und dann das Ereignis mit dem Befehl QR EXECUTE COMMAND ausführen.
Dokumentation lesen

Abstand von Zwischensummen verwalten

Sie können für jede Zwischensumme entweder einen Seitenumbruch oder eine andere Zeilenhöhe festlegen. Die Zeilenhöhe lässt sich in Punkt (pt) oder Prozent (%) ausdrücken.
Dokumentation lesen

Ränder verwalten

Sie können den Rahmen für eine Zelle, Spalte oder Zeile im Bericht gestalten, d.h. seine Farbe oder die Linienstärke verändern. Dazu ziehen Sie die Maus über das entsprechende Element, damit das Icon zum PopUp-Fenster erscheint. Klicken Sie darauf und wählen die passende Einstellung (Konfiguration der Ränder, Linienstärke und -farbe).
Dokumentation lesen

UI Verbesserungen

Die Benutzeroberfläche für Schnellberichte enthält jetzt die Schaltfläche “Speichern / Speichern als” und einen Tooltip. Mit “Speichern” speichern Sie Ihre Arbeit. Die letzte gesicherte Version der Datei wird gesichert, damit sie mit der Version auf dem Bildschirm übereinstimmt. Mit “Speichern als” können Sie Ihre Arbeit als neues Dokument unter einem anderen Namen sichern. Über den neuen Tooltip können Sie die Sortierrichtung auswählen: Aufsteigend oder Absteigend.
Dokumentation lesen

 
4D Write Pro

 

Neue Toolbar

In 4D Write Pro ist eine neue Toolbar verfügbar, die Sie beim Erstellen von Dokumenten unterstützt. Sie übernehmen einfach per Drag-and-Drop die neue Vorlage 4D Write Pro Toolbar aus der Objektbibliothek und schon haben Sie Zugriff auf eine komplette Werkzeugleiste mit verschiedenen Reitern, so dass Sie mühelos zwischen Aktionen wechseln können.
Dokumentation lesen

 

4D Write Pro Stilvorlagen

Sie können jetzt Ihre eigenen Stilvorlagen für Absätze oder Zeichen verwalten. Es gibt eine Reihe neuer Befehle zum Erstellen, Löschen und Importieren von Stilvorlagen. Mit einer Stilvorlage für Zeichen definieren Sie, wie ein Zeichen oder ein Wort angezeigt und gedruckt wird. Mit einer Stilvorlage für Absätze definieren Sie Farben für Rahmen, Abstände, Tabulatoren, Ränder, u.v.m. Eine Stilvorlage ist ein Objekt, das zu einem Dokument gehört. Es wird mit dem Befehl WP New style sheet angelegt. Dieses Objekt können Sie dann als Parameter für WP Set attributes verwenden. Es gibt folgende Befehle:

  • WP New style sheet: erstellt eine Stilvorlage
  • WP DELETE STYLE SHEET: löscht eine Stilvorlage
  • WP Get style sheet: findet eine einzelne Stilvorlage über ihren Namen
  • WP Get style sheetsfüllt eine Collection von Stilvorlage eines bestimmten Typs
  • WP IMPORT STYLE SHEETS: importiert vorhandene Stilvorlagen, die in einem anderen 4D Write Pro Dokument erstellt wurden (z.B. als Vorlage)

Dokumentation lesen

 

Ihre Dokumente in das .docx Format (Microsoft Word) konvertieren

4D Write Pro Dokumente lassen sich im Format .docx exportieren. Dazu setzen Sie die neue Konstante wk docx mit dem vorhandenen Befehl WP EXPORT DOCUMENT oder WP EXPORT VARIABLE ein.
Dokumentation lesen

Spaltenbreite anpassen

Über ein neues Feature können Endanwender die Breite der Spalten anpassen. Klicken sie auf den Spaltentrenner, wird der Mauszeiger zu einem Doppelpfeil und sie können den Trenner nach links oder rechts ziehen. Dann werden die linken und rechten Spalten angepasst. Ziehen sie mit gedrückter Shift-Taste, werden nur die linken Spalten angepasst, die rechten Spalten werden verschoben.
Dokumentation lesen

 

Zeilen und Spalten hinzufügen und entfernen

Für Tabellen gibt es jetzt Befehle zum Einfügen und Löschen von Zeilen und Spalten. WP Table insert rows und WP Table insert columns. geben Ranges mit den eingefügten Spalten/Zeilen in der Tabelle zurück. WP TABLE DELETE ROWS und WP TABLE DELETE COLUMNS entfernen Spalten/Zeilen aus der angegebenen Tabelle. 
Dokumentation lesen

Angepasste Höhe für Kopf- und Fußteile

Mit der neuen Konstante wk header and footer autofit können Sie festlegen, ob Kopf- und Fußteile im Dokument automatisch angepasst werden, um abgeschnittenen Inhalt zu vermeiden. Es gibt die Werte True oder False. Bei neu angelegten Dokumenten wird der Wert standardmäßig auf True gesetzt, d.h. Kopf- und Fußteile werden automatisch angepasst. Bei konvertierten 4D Write Dokumenten wird der Wert auf False gesetzt, d.h. Kopf- und Fußteile behalten ihre festen Höhen bei.
Dokumentation lesen

 

Kopf- und Fußteile per Programmierung erstellen

Mit den neuen Befehlen WP New header und WP New footer können Sie einen Kopf- oder Fußteil per Programmierung erstellen und über die Befehle WP DELETE HEADER und WP DELETE FOOTER per Programmierung entfernen.
Dokumentation lesen

 
Vertikales Lineal

Es gibt jetzt auch ein vertikales Lineal. Damit können Ihre Benutzer vertikale Ränder grafisch verwalten. Hat Ihr Dokument Kopf- oder Fußteile, lassen sich die Abstände zwischen ihnen und dem Hauptteil ebenfalls über das vertikale Lineal verändern. Die Eigenschaftenliste enthält die neue Eigenschaft Vertikales Lineal anzeigen, um dieses Lineal zu aktivieren.
Dokumentation lesen

Seitenlayout definieren

Sie können Größe, Ausrichtung und Ränder der Seite per Programmierung definieren. Dafür gibt es neue Attribute für die Befehle WP SET ATTRIBUTES und WP GET ATTRIBUTES, die Sie für das gesamte 4D Write Pro Dokument setzen. Folgende Werte gelten standardmäßig für alle Abschnitte des Dokuments und lassen sich dann für einen bestimmten Abschnitt ändern:

  • wk page widthwk page height – für Seitengröße
  • wk page orientation – für Seitenausrichtung
  • wk page marginwk page margin leftwk page margin rightwk page margin topwk page margin bottom – für Seitenränder
    Dokumentation lesen

Neue Attribute für Absatzkontrolle und Seitenumbrüche

4D Write Pro hat neue Attribute erhalten, die Schusterjungen, Hurenkinder und Seitenumbrüche in Absätzen und Tabellen steuern.

Schusterjungen und Hurenkinder bezeichnen die erste oder letzte Zeile, die isoliert am Anfang oder Ende eines Absatzes stehen. Das lässt sich mit dem Befehl WP SET ATTRIBUTES über das neue Attribut wk avoid widows and orphans verwalten. Ist der Wert für einen Absatz oder eine Tabelle auf wk true gesetzt (Standardeinstellung), verhindert 4D Write Pro, dass eine einzelne Zeile getrennt auf einer anderen Seite erscheint.

Seitenumbrüche in Absätzen oder Tabellen lassen sich über das neue Attribut wk page break inside steuern. Der Wert wk avoid verhindert Umbrüche, so dass ein Absatz oder eine Tabelle zusammenhängend bleiben und nicht auf zwei Seiten aufgeteilt werden.
Dokumentation lesen

Abschnitte per Programmierung verwalten

Über Abschnitte (sections) lassen sich im gleichen Dokument verschiedene Layouts einrichten. Sie können z.B. für jeden Abschnitt eine andere Seitengröße und -ausrichtung definieren, unterschiedliche Ränder sowie Kopf- und Fußzeilen setzen. Das ergibt komplexe und ansprechend gestaltete Dokumente. Sie können Abschnitte per Programmierung verwalten: WP Get sections findet eine Collection von Abschnitten in Ihrem Dokument. WP Get section findet den aktuellen Abschnitt. Um die Attribute eines bestimmten Abschnitts zu ändern, übergeben Sie in den Befehlen WP SET ATTRIBUTES und WP GET ATTRIBUTES die Referenz dieses Abschnitts. Mit dem neuen Befehl WP Create subsection können Sie auch Unterabschnitte per Programmierung einrichten.
Dokumentation lesen

Paginierung für Tabellen

Umfangreiche Tabellen erscheinen jetzt automatisch auf mehr als einer Seite. Sie müssen nicht die Zeilen zählen, um die Seitengröße oder -ausrichtung zu prüfen, denn Tabellen werden bei einem Seiten- oder Spaltenumbruch dynamisch gesplittet. Der Befehl WP INSERT BREAK wurde aktualisiert und unterstützt jetzt die neue Konstante wk paragraph break.
Dokumentation lesen

4D Ausdrücke in verankerten Bildern

Sie können einem verankerten Bild einen gültigen 4D Ausdruck zuweisen und liefern so noch mehr Flexibilität. Setzen Sie einfach die Konstante  wk image expression für ein verankertes Bild, um eine Methode zu definieren, die ein Bild zurückgibt.
Dokumentation lesen

Koordinaten in einem 4D Write Pro Dokument erhalten

Der Befehl WP Get position gibt ein Objekt zurück, das die aktuelle Position eines Range, eine Referenz auf ein Element oder das 4D Write Pro Dokument beschreibt, je nach Wunsch in Pixel, Zentimeter oder Zoll, für die obere, untere, linke und rechte Position und darüberhinaus noch weiter eingegrenzt auf den Inhalt (“Zeichen”“Abschnitt”“Tabelle” oder “Bild”). 
Dokumentation lesen

Virtuelle Struktur

In 4D Write Pro Dokumente eingefügte Ausdrücke vom Typ Tabelle oder Feld unterstützen die virtuelle Strukturdefinition der Anwendung. Dies wird über die Befehle SET TABLE TITLES(…;*)  und SET FIELD TITLES(…;*) ausgeführt. Auch der Formeleditor unterstützt die virtuelle Struktur, und da 4D die Benutzeroberfläche automatisch anhand der Systemeinstellungen setzt, erscheint der Formeleditor in der Sprache des Benutzers.  Dokumentation lesen

Links zu Methoden

Mit dem Befehl WP SET LINK können Sie URLs setzen, aber auch eine Aktion auslösen, wenn der Benutzer auf den Link klickt. Das kann eine Methode (mit Parametern) in Ihrer 4D Applikation aufrufen oder zu einem Lesezeichen in Ihrem Dokument gehen. Der neue Befehl WP Get links gibt in einem einzigen Aufruf eine Collection mit allen Links in einem Dokument zurück. Jeder Link der Collection ist ein Objekt mit der Beschreibung des Link und seiner Attribute. 
Dokumentation lesen

Anzeigeeigenschaften verwalten

Sie können die Anzeigeeigenschaften per Programmierung setzen. Der Befehl WP SET VIEW PROPERTIES kann eine oder mehrere Anzeigeeigenschaften des 4D Write Pro Bereichs dynamisch setzen. Der Befehl WP Get view properties gibt die Anzeigeeigenschaften in einem Objekt zusammen mit dem jeweils aktuellen Wert zurück.
Dokumentation lesen

Tabulator-Einstellungen

Sie können Tabulatoren mit einer Collection von Strings, numerischen Werten oder sogar einer Collection von Objekten setzen! Müssen Sie nur die Werte standardmäßiger Tabulatoren verändern, können Sie ein Objekt mit der neuen Konstante wk tab default verwenden (sie wurde speziell zu diesen Zweck hinzugefügt). 
Dokumentation lesen

Weitere Ziele und umbenannte Befehle

Die hier aufgelisteten Befehle wurden erweitert und erlauben jetzt im ersten Parameter jede Art Ziel. Sie können als Ziel weiterhin ein Range verwenden, aber auch eine Referenz (Kopf-, Fuß-, Hauptteil), ein Element (Bild, Absatz) oder das gesamte Dokument:

  • WP SET TEXT
  • WP INSERT BREAK
  • WP INSERT DOCUMENT
  • WP INSERT PICTURE
  • WP Insert table
  • WP SET ATTRIBUTES
  • WP GET ATTRIBUTES

Folgende Befehle wurden umbenannt:

Bisheriger Name Neuer Name
WP Create Paragraph range WP Paragraph range
WP Create Picture range WP Picture range
WP Create range WP Text range
WP Create Table range WP Table range
WP Get bookmark range WP Bookmark range
WP Get selection WP Selection range

Dokumentation lesen

 
4D View Pro

 

Dokumente in Microsoft Excel mit 4D View Pro verwenden

Die Befehle VP IMPORT DOCUMENT und VP EXPORT DOCUMENT wurden erweitert und unterstützen jetzt Dateien mit der Endung .xlsx. Sie übergeben einfach Ihren Dateipfad in den Befehlen und können gleich loslegen.
Dokumentation lesen

 

Funktionsreiche Ribbon Oberfläche

Die leistungsstarke Ribbon Oberfläche ist eine entscheidende Verbesserung in der Benutzeroberfläche von 4D View Pro. Hier können Sie Features von 4D View Pro als übersichtliche Flächen organisieren, so dass sie leicht gefunden werden und rascher Zugriff auf verschiedene Befehle möglich ist. Besonders erwähnenswert ist, dass die Toolbar auch neue Funktionen wie PDF und CSV Exportoptionen einführt. Dokumentation lesen

 

Methoden und Datenbankfelder 

Die Sicherheit Ihrer Anwendung wurde weiter ausgebaut. Sie haben noch mehr Kontrolle über die Daten und können festlegen, ob sie für Ihre Endnutzer verfügbar sein sollen und auf welche Felder oder Methoden diese zugreifen können.

Befehle und Variablen lassen sich nicht direkt aus einer Zelle aufrufen. Über erlaubte Methoden ist der Zugriff jedoch möglich, da sie den Wert der Variablen oder des Befehls zurückgeben. Methoden lassen sich über den Befehl SET ALLOWED METHODS autorisieren, Tabellen oder Felder lassen sich mit den Befehlen SET TABLE TITLES und SET FIELD TITLES als virtuelle Strukturen deklarieren. Die entsprechenden Variablen sowie 4D Befehle müssen in der erlaubten Methode enthalten sein.
Dokumentation lesen 

 

Kontrolle über erlaubte 4D Methoden 

Der neue Befehl VP SET ALLOWED METHODS bestimmt die in 4D View Pro erlaubten 4D Methoden und enthält eine Übersicht mit Angaben zu Parametern, Name und Typ. Das macht Ihre Methoden für Endnutzer informativer und übersichtlicher.
Dokumentation lesen

 

Drucken und PDF Export

Der neue Befehl VP SET PRINT INFO definiert spezifische Druckoptionen für das aktuelle Arbeitsblatt oder optional für ein bestimmtes Arbeitsblatt. Diese Optionen bereiten das Dokument für den PDF Export oder Druck vor. Zum Exportieren in PDF Format verwenden Sie den Befehl VP EXPORT DOCUMENT. Mit VP PRINT INFO werden automatisch alle verwendeten Schriften in Ihr Dokument in der generierten PDF Datei eingebettet. Zum Drucken verwenden Sie den Befehl VP PRINT.  
Dokumentation lesen

 

In SVG konvertieren

Der Befehl VP Convert to picture konvertiert ein Arbeitsblatt oder Teile davon in ein SVG Bild. Es lässt sich dann z.B. in ein 4D Write Pro Dokument einbinden oder als Teil eines 4D Druckauftrags zusammen mit anderen Formularen oder Daten drucken.
Dokumentation lesen

 

Neue Ereignisse in der Eigenschaftenliste

In der Eigenschaftenliste gibt es eine Reihe neuer Formularereignisse für 4D View Pro: “On Column Resize”, “On Row Resize”, “On Clicked”, “On Double Clicked”, “On Header Click”, “On Selection Change” und “On After Edit”. Tritt ein solches Ereignis ein, zeigt es zusätzliche Informationen im Objekt an, das vom Befehl FORM Event zurückgegeben wird.
Dokumentation lesen

 

Ranges per Code erstellen

Sie können Ranges in 4D View Pro per Programmierung erstellen. Es gibt neue Befehle, um ein Range Objekt zum Verwalten Ihrer Zellen zu definieren: VP CellVP CellsVP ColumnVP RowVP All, VP Combine ranges und VP Name. 
Dokumentation lesen

 

Zelleninhalt setzen und erhalten

Eine ganze Reihe von Befehlen ermöglicht, Ihre Dokumente per Programmierung zu füllen bzw. ihren Inhalt zu erhalten: VP SET VALUE, VP SET BOOLEAN VALUE, VP SET DATE TIME VALUE, VP SET DATE VALUE, VP SET TIME VALUE, VP SET NUM VALUE, VP SET TEXT VALUE, VP SET FORMULA, VP SET FIELD, VP Get value, VP Get formula.
Dokumentation lesen

 

Ihre Ranges und Formeln mit Namen versehen

Es gibt das neue Konzept Ranges und Formeln mit Namen. Sie können für folgende Teile Namen per Programmierung definieren:

Zellen-Range mit Namen: Mit dem Befehl VP ADD RANGE NAME können Sie via Code einen lesbaren Namen auf die entsprechenden Zellen anwenden.

Formel mit Namen: Mit dem Befehl VP ADD FORMULA NAME können Sie Berechnungen in Ihrer Tabellenkalkulation mit lesbaren Namen ersetzen. Über Konstanten lässt sich auch die Reichweite der Formel definieren (aktuelles Arbeitsblatt oder komplettes Workbook). Das macht Berechnungen in Ihrer Tabellenkalkulation noch einfacher.
Dokumentation lesen

 

Auswahlen und aktive Zelle verwalten

Es gibt einen Satz neuer Befehle, über die Sie die aktive Zelle bzw. Auswahlen in Ihren Dokumenten setzen und erhalten können:

  • VP Get active cell
  • VP Get selection
  • VP SET ACTIVE CELL
  • VP SET SELECTION
  • VP ADD SELECTION
  • VP RESET SELECTION

Mit dem Befehl VP SHOW  CELL können Sie eine Zelle an einer bestimmten Position in Ihrem 4D View Pro Bereich ansehen (z.B. oben links oder unten rechts).
Dokumentation lesen

 

Mit Collections in 4D View Pro lesen und schreiben 

Mit den neuen Befehlen VP SET VALUESVP Get valuesVP SET FORMULAS und VP Get formulas lässt sich eine große Anzahl verschiedener Werte oder Formeln einfacher, schneller und auch via Collections setzen und empfangen. Für Werte oder Formeln in Zellen erstellen Sie einfach eine Collection, in der jedes Element eine Zeile darstellt. Jede Zeile ist eine Collection von Zellenwerten zum Setzen in den Spalten. Zum Lesen können Sie in VP Get values ein Zellen-Range übergeben. Der Befehl gibt die Werte in den entsprechenden Collections zurück.
Dokumentation lesen

 

Stilanpassungen

Sie können den Stil Ihrer 4D View Pro Dokumente per Programmierung anpassen. Dafür gibt es drei unterschiedliche Optionen:

  • Mit den Befehlen VP SET DEFAULT STYLE und VP Get default style definieren Sie eine Vorlage mit Standardstil.
  • Mit den Befehlen VP ADD STYLESHEETVP REMOVE STYLESHEETVP Get stylesheet und VP Get stylesheets definieren Sie eine Vorlage mit häufig verwendeten eigenen Stilelementen. 
  • Mit den Befehlen VP SET CELL STYLE und VP Get cell style setzen Sie eine Stilvorlage für bestimmte Zellen.

Außerdem gibt es den neuen Befehl VP SET BORDER, um Position und Stil der Ränder eines Range zu verwalten.
Dokumentation lesen

 

 Zu den einzelnen R-Releases: