Während dem R-Release Zyklus wurden verschiedene von 4D verwendete Libraries und Komponenten aktualisiert, bestehende Verhaltensweisen verändert und bekannte Probleme dokumentiert. Diese Angaben wurde bisher für jede R-Version separat veröffentlicht. Sie sind nun auf dieser Seite zusammengefasst.
In v18 und höheren Versionen, wird der "aktuelle" Logs Ordner standardmäßig auf derselben Ebene wir die Datendatei angelegt. Für Wartungsprotokolle (Kompakt, Prüfen, Reparieren) wird ein spezifischer Ordner Log im aktuellen Systemordner (4D Ordner) des Benutzers angelegt.
Vorhandene Logs Ordner bleiben beim Konvertieren einer Datenbank unangetastet.
Ab 4D v17 R6 ist Range Checking in 4D immer aktiviert. Dafür wurde auf der Seite Compiler der Datenbank-Eigenschaften das Optionsfeld Range Checking entfernt.
Spezielle Kommentare von Range Checking werden weiter unterstützt:
// %R- Range Checking deaktivieren // %R+ Range Checking aktivieren // %R* auf den Standardwert zurückzusetzen (wie im Dialogfenster Eigenschaften gesetzt)
Beachten Sie, dass der Kommentar // %R*, der einen "deaktivierten" Status wiederherstellen kann, wenn das Optionsfeld in den Datenbank-Eigenschaften nicht markiert ist, jetzt immer dasselbe ist wie ein Kommentar // %R+ (Option aktiviert).
Da jetzt beim Verändern der Größe eines Unterformulars das Ereignis On Resize ausgelöst wird, wird hier das Formularereignis On Timer zur Vermeidung von Konflikten nicht mehr ausgelöst. Dieses Ereignis wurde bisher u.U. ausgelöst, jedoch mit nicht-verlässlicher Häufigkeit.
Der Compiler wurde verbessert, um leichter Unstimmigkeiten bei Blob Variablen zu finden. Er zeigt einen Fehler, wenn ein Befehl ein Blob benötigt, jedoch einen Nicht-Blob Parameter empfängt.
Je nachdem wie Daten gespeichert und angelegt wurden, kann ein Index der Objektfelder u.U. nicht korrekt sein. Das kommt äußerst selten vor und ist nicht reproduzierbar. Ein Grund dafür scheinen Objekte mit Sonderzeichen in den Eigenschaftsnamen zu sein (z.B.: .,'",[]). In solchen Fällen kann der Index beschädigt sein und die Abfrage nach Attributen in Objektfeldern fehlschlagen (ACI0098796). Dies betrifft Datenbanken, die mit 4D v15 - v17.0 und mit indizierten Objektfeldern erstellt wurden. Datenbanken, die mit v16.4 HF1 / v17.1 / v17 R4 oder höher erstellt oder indiziert wurden, sind nicht betroffen. Zur Behebung dieses Problems empfehlen wir, Objektfelder neu zu indizieren.
Ab 4D v17 R5 lassen sich mehrere Kopien (macOS und Windows) oder Instanzen (Windows) derselben Anwendung ausführen, die mit dem gleichen Server verbunden sind. Dazu wurde der Name des Cache-Ordners geändert. Die Benennung in früheren Versionen basierte auf der Server-IP- und Server-Port-Nummer, jetzt erscheint zusätzlich die Instanznummer. Der bisherige Cache-Ordner und seine Daten werden nicht mehr verwendet. Wenn Sie ihn löschen möchten, müssen Sie ihn manuell entfernen.
Mit Einführung des neuen Befehls Get call chain wurde der vom 4D Compiler generierte Code angepasst. Aus diesem Grund lassen sich mit 4D v17 R6 kompilierte Anwendungen und Komponenten nur mit 4D v17 R6 oder höher öffnen. Datenbanken, die mit früheren Versionen kompiliert wurden, müssen erneut kompiliert werden, um die Vorteile des neuen Befehls zu nutzen.
4D hat zur besseren Übereinstimmung mit dem SpreadJS Datumsformat die Art der Speicherung von Datum und Zeit geändert. Seit 4D v17 R2 werden beim Konvertieren eines 4D View Dokuments in 4D View Pro Datum und Zeit als C_TEXT ausgegeben. Ab 4D v17 R4 werden Datum und Zeit als C_OBJECT mit 2 Feldern ausgegeben: eines für das Datum (C_DATE), das andere für die Zeit (C_TIME).
Ab 4D v17 R5 sind in 4D View Pro die standardmäßigen Einstellungen zur Lokalisierung dieselben, wie in der aktuellen 4D Host Datenbank. Aus diesem Grund kann Ihre 4D View Pro Oberfläche in 4D v17 R5 u.U. Datum, Zeit und Zahl anders als in vorherigen 4D Versionen anzeigen.
Die Ausdrücke $wp_pageNumber und $wp_pageCount werden immer bewertet. Sie lassen sich nicht über den Befehl ST FREEZE EXPRESSIONS einfrieren (gleiches Verhalten wie mit dem Plug-In 4D Write).
In vorherigen Versionen wurde bei einem Umbruch bzw. einem Range innerhalb einer Zeile oder einer Spalte der Umbruch vor der Tabelle eingefügt. Jetzt wird der Umbruch vor der Zeile eingefügt und die Tabelle wird in zwei Teile gesplittet.
Das Verhalten von wk tab stop offsets wurde aktualisiert. Diese Konstante definiert jetzt den Versatzwert des letzten Tab. Das letzte Element der Tabulatoren wird nicht mehr zum Definieren des Standardwerts für Tab-Versatz verwendet. Ab 4D v17 R5 wird der standardmäßige Wert des Tabs über wk offset des Attributs wk tab default verwaltet. Dieser wurde zum Verwalten von Standardwerten für Tabs eingerichtet.
Beim Öffnen von 4D Developer Edition v18 oder höher auf High Sierra erscheint die Meldung: "4D lässt sich nicht öffnen, da es von einem nicht identifizierten Entwickler kommt".
Wir empfehlen, macOS Mojave oder Catalina zu verwenden. Falls die Verwendung von OS High Sierra zur Entwicklung erforderlich ist, sind zwei Lösungen möglich:
Installieren Sie Swift von Apple, damit die 4D Developer Applikation korrekt identifiziert wird.
Gehen Sie zum Dialogfenster "Systemeinstellungen > Sicherheit” und klicken auf die Schaltfläche "Trotzdem öffnen" (beachten Sie, dass Sie diese Operation bei jedem Download eines neues Build durchführen müssen).
Hinweis: Das gilt nur für 4D Developer. Andere Produkte (4D Server, doppelklickbare Applikationen) lassen sich uneingeschränkt öffnen.
Microsoft stellt die Unterstützung von Windows 7 ab Januar 2020 ein. Deshalb stoppt 4D ab 4D v17 R5 die Unterstützung von Windows 7 und parallel dazu auch die Unterstützung von Windows 8. Bitte upgraden Sie auf Windows 10.
Windows 7: Wir raten dringend, alle verfügbaren Updates von Microsoft zu installieren (über den Aktualisierungsdialog in den Systemeinstellungen). Das Update KB2999226 (Release 9/2015) ist zwingend, um Fehler bezüglich api-ms-win-crt-rumtime-1-1-0.dll zu vermeiden. Microsoft hat die Unterstützung von Windows 7 bereits gestoppt und der erweiterte Support (Sicherheits-Fixes) endet im Januar 2020. Wir empfehlen das Update auf Windows 10.
Verwendet macOS Mojave eine Lokalisierung, die in 4D nicht existiert, werden Datum und Zeit u.U. im US Format angezeigt. Verwendet der Mac Client beispielsweise die italienische Lokalisierung, für die der Ordner “it.lproj” nicht existiert, erscheint das Datum in einem US Format.
PHP: aktualisiert auf v7.3.1 - dies ist ein Major Upgrade für PHP, das zusätzliche Features bietet, u.U. aber auch zu Kompatibilitätsproblemen führen kann. Weitere Infos.
ICU: aktualisiert auf v63.1 - dieses Major Upgrade auf eine neuere Unicode Version erzwingt automatisch die Regenerierung der Indices für Alphanumerisch, Text und Objekte.
Hunspell: aktualisiert auf v1.7.0
EIGENSCHAFTEN
Produkt: 4D
Thema: Änderungen und Aktualisierungen