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.
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
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:
Ü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
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
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
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
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
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
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. from, cc, bc, to, sender,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 Kommunikation. Die 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. name, modificationDate, modificationTime) 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
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
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
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 BLOB, EXPAND 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 SQL, End 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
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
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
- 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
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
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 sheets: fü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)
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
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
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 width, wk page height – für Seitengröße
- wk page orientation – für Seitenausrichtung
- wk page margin, wk page margin left, wk page margin right, wk page margin top, wk 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
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
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
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
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 |
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
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
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 Cell, VP Cells, VP Column, VP Row, VP 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 VALUES, VP Get values, VP 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 STYLESHEET, VP REMOVE STYLESHEET, VP 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: