Die Seite Kompatibilität bietet Parameter zur Wahrung der Kompatibilität mit älteren 4D Versionen. Beachten Sie, dass eine Reihe der Optionen abhängig von der 4D Version angezeigt werden, mit der die Originaldatenbank erstellt wurde: 2004.x, v11, v12 usw. sowie die in dieser Datenbank geänderten Einstellungen.
Hinweis: Diese Seite erscheint nicht in Anwendungen, die mit der aktuellen 4D Version erstellt wurden (nicht-konvertierte Anwendungen).
Felder in Dialogfenstern eingebbar: In früheren Versionen von 4D war es nicht möglich, Werte über Felder in Dialogfenstern einzugeben. Sie werden z.B. über den 4D Befehl DIALOG angezeigt. Diese Einschränkung ist seit 4D 2004 aufgehoben. Sie können das vorige Verhalten beibehalten, insbesondere wenn Ihre Datenbank in Dialogfenstern Felder zum Anzeigen von Daten verwendet. Diese Option ist für konvertierte Datenbanken, die mit einer Version vor 2004 erstellt wurden, standardmäßig aktiv, für Datenbanken, die in Version 2004 oder neuer erstellt wurden, inaktiv.
Optionsfelder nach Namen gruppieren: In früheren Versionen von 4D war koordiniertes Verhalten einer Gruppe von Optionsfeldern möglich, wenn die zugewiesenen Variablen denselben Anfangsbuchstaben hatten, z.B. m_button1, m_button2, m_button3, etc.. (Koordiniert = Es lässt sich immer nur ein Optionsfeld in der Gruppe auswählen). Das wurde ab 4D 2004 wie folgt geändert: Ein Satz Optionsfelder arbeitet koordiniert, wenn er im Formulareditor gruppiert ist. Weitere Informationen dazu finden Sie im Abschnitt Optionsfelder und Optionsbilder. Dieser Modus gilt für Optionsfelder, 3D Optionsfelder und Optionsfelder vom Typ Bild. Aus Kompatibilitätsgründen wird in konvertierten Datenbanken standardmäßig der alte Modus beibehalten. Wollen Sie den neuen Modus verwenden, deaktivieren Sie diese Option. Datenbanken, die in Version 2004 oder neuer erstellt wurden, verwenden die neue Arbeitsweise.
Formular für jeden Datensatz während PRINT SELECTION neu laden: In früheren Versionen von 4D wurde das Formular, welches über den 4D Befehl PRINT SELECTION beim Drucken verwendet wird, für jeden Datensatz erneut geladen. So ließen sich alle Objekteinstellungen, die der Entwickler unter Umständen per Programmierung verändert hatte, über das Formularereignis On printing detail erneut initialisieren. Diese Funktionsweise wurde ab 4D 2004 zur Optimierung der Performance aufgehoben. Der 4D Entwickler muss jetzt selbst die gewünschten Einstellungen in der Formularmethode reinitialisieren – das ist identisch mit der Arbeitsweise von Listenformularen mit dem Formularereignis On display detail. Über diese Option können Sie die bisherige Arbeitsweise beibehalten. Datenbanken, die in Version 2004 oder neuer erstellt wurden, verwenden die neue Arbeitsweise.
Verwende nicht neue Kontext-Referenzmethode: Ist diese Option nicht markiert (Standardeinstellung), setzt der 4D Web Server die Kontextnummer in der URL der gesendeten HTML Dokumente. In älteren Versionen (Option markiert) sendete der 4D Web Server die Kontextnummer für jeden Eintrag einer Seite an den Browser, was die Bearbeitung verlangsamte. Die Option muss aus Kompatibilitätsgründen unter Umständen aktiv sein. Beachten Sie, dass eine Änderung dieser Einstellung erst nach Neustart der Datenbank in Kraft tritt.
“/” von unbekannten URLs entfernen: In früheren 4D Versionen wurden unbekannte URL, d.h. URL, die weder zu einer vorhandenen Seite, noch zu einer 4D spezifischen URL gehören, in den Datenbankmethoden On Web Authentication und On Web Connection ($1) zurückgegeben und begannen nicht mit dem Zeichen “/”. Diese Vorgehensweise wurde in 4D 2004 entfernt. Sollten Sie Algorithmen eingebaut haben, die auf diesem Sonderfall basieren und wollen Sie das bisherige Verhalten beibehalten, deaktivieren Sie diese Option.
Drag & Drop von außerhalb von 4D verweigern: 4D erlaubt ab Version 11 im Anwendungsmodus Drag&Drop für Auswahlen, Objekte und externe Dateien, z.B. Bilddateien. Diese Möglichkeit muss der Code der Datenbank jedoch unterstützen. In konvertierten Datenbanken aus früheren Versionen können Störungen auftreten, wenn der vorhandene Code nicht entsprechend angepasst wird. Um das zu verhindern, markieren Sie diese Option. Dann lassen sich externe Objekte nicht per Drag&Drop in 4D Formulare legen. Beachten Sie, dass sich externe Objekte mit dem Attribut Automatisches Drop weiterhin in Objekte ziehen lassen, sofern die Anwendung die Daten interpretieren kann (Text oder Bild). Weitere Informationen dazu finden Sie im Abschnitt Drag and Drop.
QUERY BY FORMULA auf Server ausführen undExecute ORDER BY FORMULA auf Server ausführen: Ab 4D Version 11 werden die Such- und Sortierbefehle „nach Formel“ auf dem Server ausgeführt und nur das Ergebnis an den Client-Rechner zurückgegeben. Das gilt für die 4D Befehle QUERY BY FORMULA, QUERY SELECTION BY FORMULA und ORDER BY FORMULA. Werden Variablen direkt in der Formel aufgerufen, wird die Suche mit dem Wert der Variablen auf dem Client-Rechner durchgeführt. So wird zum Beispiel die Anweisung
<strong>QUERY BY FORMULA</strong>([aTable];[aTable]aField=theVariable)
Dieses Prinzip gilt dagegen nicht für Formeln mit Methoden, die ihrerseits Variablen aufrufen: In diesem Fall wird der Wert der Variablen auf dem Server berechnet. In konvertierten Datenbank kann diese neue Funktionsweise vorhandene Algorithmen beeinträchtigen. Folglich werden in diesem Kontext die Befehle weiterhin auf dem Client-Rechner ausgeführt. Um die Vorteile des neuen Algorithmus in konvertierten Datenbanken zu nutzen, können Sie einfach diese Optionen markieren. Hinweis: Sie können diese Option auch über den 4D Befehl SET DATABASE PARAMETER setzen.
QUERY BY FORMULA Uses SQL Joins: Ab 4D Version 11 führen die 4D Befehle QUERY BY FORMULA und QUERY SELECTION BY FORMULA auf SQL joins basierende Verknüpfungen aus. Demzufolge muss für eine Formel, die z.B. [Tabelle_A]Feld_X=[Tabelle B]Feld_Y enthält, keine automatische Verknüpfung zwischen Tabelle A und Tabelle B existieren. Zur Wahrung der Kompatibilität ist diese Option in konvertierten Datenbanken standardmäßig nicht markiert. Wir empfehlen jedoch, sie zu aktivieren (nach Überprüfung des Code der Datenbank), um die optimierte Arbeitsweise der Suchbefehle nach Formel nutzen zu können. Hinweise:
Ist der Modus „SQL joins“ aktiviert, verwenden die Befehle QUERY BY FORMULA und QUERY SELECTION BY FORMULA trotzdem automatische Verknüpfungen, die im Struktureditor gesetzt wurden, wenn folgendes gilt: - Die Formel lässt sich nicht in die einzelnen Elemente in Form von {Feld ;Vergleichsoperator ;Wert} aufbrechen - Es werden zwei Felder derselben Tabelle miteinander verglichen.
Verschachtelte Transaktionen erlauben: Diese Option unterstützt mehrstufige Transaktionen. 4D akzeptiert ab Version 11 verschachtelte Transaktionen auf einer unbegrenzten Anzahl von Ebenen. Da diese Option jedoch die Funktionsweise von Datenbanken älterer Versionen beeinträchtigen kann, ist sie in konvertierten Datenbanken standardmäßig inaktiv, d.h. hier sind Transaktionen auf eine Ebene begrenzt. Um in einer konvertierten Datenbank Transaktionen auf mehreren Ebenen durchzuführen, müssen Sie diese Option markieren. Diese Option ist standardmäßig nicht markiert. Sie gilt spezifisch für eine Datenbank. Hinweis: Diese Option hat keine Auswirkung auf Transaktionen, die mit der SQL-Engine von 4D ausgeführt werden. SQL-Transaktionen sind immer verschachtelt.
Unicode Modus: Aktiviert bzw. deaktiviert den Unicode Modus für die aktuelle Datenbank. Muss immer markiert sein, da er für Anwendungen in 64-bit erforderlich ist.
Verwende Punkt und Komma als Platzhalter in Zahlenformaten: Ab 4D Version 11 basieren Zahlenformate automatisch auf den landesspezifischen Parametern des Systems (siehe “Zahlenformate” unter Anzeigeformate). 4D ersetzt die Zeichen “.” und “,” in Zahlenformaten automatisch mit den Trennzeichen für Tausend und Dezimal, wie es im Betriebssystem definiert wurde. Punkt und Komma dienen als Platzhalter in den Formaten 0 oder #. In bisherigen 4D Versionen haben Anzeigeformate für Zahlen nicht die landesspezifischen Parameter des Betriebssystems berücksichtigt. So ist das Format “###,##0.00” ein für das amerikanische Betriebssystem gültiges Format. Das führt in einem deutschen oder schweizer System zu einem inkorrekten Ergebnis. In konvertierten Datenbanken ist diese Funktionsweise zur Wahrung der Kompatibilität nicht aktiviert. Um sie zu nutzen, müssen Sie diese Option markieren.
Automatische Zuweisung von Variablen: In bisherigen 4D Versionen hat der Web Server automatisch den Wert von Variablen kopiert, die über ein Web Formular oder eine URL in 4D Prozessvariablen gesendet wurden. Im interpretierten Modus wurde der Wert jeder empfangenen Variable, direkt in eine 4D Prozessvariable mit demselben Namen kopiert; im kompilierten Modus mussten die Variablen zuvor in einer Projektmethode COMPILER_WEB deklariert werden. Dieser Mechanismus ist ab 4D v13.4 veraltet und in neuen Anwendungen nicht mehr verfügbar. Zur Wahrung der Kompatibilität wird er in konvertierten Anwendungen noch beibehalten. Sie können ihn aber auch deaktivieren. Wir empfehlen jetzt, die dafür vorgesehenen Befehle WEB GET VARIABLES oder WEB GET BODY PART zu verwenden.
Verwende legacy Netzwerk-Schicht: 4D Applikationen enthalten ab Version 15 eine neue Netzwerk-Schicht mit Namen ServerNet, um die Kommunikation zwischen 4D Server und Rechnern mit remote 4D (Clients) zu steuern. Die bisherige Netzwerk-Schicht ist überholt, wird jedoch zur Wahrung der Kompatibilität mit vorhandenen Datenbank beibehalten. Mit dieser Option können Sie die bisherige Netzwerkschicht je nach Ihren Bedürfnissen in Ihren 4D Server Anwendungen aktivieren oder deaktivieren, z.B. beim Migrieren Ihrer Client Applikationen (siehe Abschnitt Netzwerk und Client-Server Optionen). ServerNet wird automatischin neu angelegten Anwendungen verwendet sowie in Anwendungen, die von einem v15 Release oder neuer konvertiert wurden. Beachten Sie, dass die Änderung erst nach dem Neustart der Anwendung berücksichtigt wird. Auch Client-Anwendungen, die sich mit der neuen Netzwerk-Schicht anmelden können, müssen neu gestartet werden. Zum Verwenden von ServerNet ist mindestens die Client-Version von 4D v14 R4 erforderlich, siehe Abschnitt Netzwerk und Client-Server Optionen). Hinweis: Diese Option lässt sich mit dem Befehl SET DATABASE PARAMETER auch per Programmierung steuern.
Sichere Methode in Unicode: Diese Option wird ignoriert. Methoden werden immer in Unicode gesichert. Weitere Informationen dazu finden Sie in älteren Versionen der Seite Kompatibilität.
Verwende Objektnotation, um auf Objekteigenschaften zuzugreifen: Damit können Sie die Zeichen ".", "[" und "]" in Ihrem Code als Symbole der Objektnotation zum Definieren von Token Teilen verwenden -- und nicht in Tabellen-, Feld-, Methoden- oder Variablennamen. Wollen Sie Objektnotation verwenden, müssen Sie diese Option für Anwendungen aktivieren, die vor 4D v17 erstellt wurden. Denn in allen früheren 4D Releases waren die Symbole ".[]" in Namen erlaubt. Aktivieren Sie diese Option für Ihre konvertierte Anwendung, machen Sie ihren Code mit Objektnotation kompatibel. Wir empfehlen, die Kompatibilität Ihres Code über das MSC zu prüfen (siehe Seite Prüfen). Weitere Informationen dazu finden Sie im Abschnitt Objektnotation verwenden.
Verwende Datumstyp statt ISO Datumsformat in Objekten: Damit können Sie Datumsangaben in Objektattributen als Datumstyp anstatt als Text im ISO-Format speichern. In bisherigen 4D Versionen ließ sich ein Datum in Objektattributen nur als String abspeichern. Ab 4D v16 R6 können Sie diese neue Option markieren, um das Datum in Objektattributen als Datumstyp zu speichern. Dies gilt nur für ein neu eingegebenes Datum, zuvor im ISO-Format gespeicherte Datumsangaben bleiben erhalten. Dieses Feature können Sie auch per Programmierung über den Befehl SET DATABASE PARAMETER und die Selektoren Date type, String type with time zone und String type without time zone steuern.
Benutze neue Architektur für Anwendungen-Weitergabe: Diese Option ist für Anwendungen ab 4D v15 R4 standardmäßig markiert und in konvertierten Anwendungen standardmäßig deaktiviert. Wollen Sie die neuen Mechanismen nutzen, müssen sie diese explizit markieren. Sie muss auf dem Rechner gesetzt werden, der die Endanwendung generiert. Weitere Informationen dazu finden Sie in den Abschnitten Zuletzt geöffnete Datendatei und Verbindungsprozess für eingebundene Clients.
Verwende Standard XPath: Diese Option ist für Anwendungen vor 4D v18 R3 standardmäßig deaktiviert, für Anwendungen ab 4D v18 R3 und höher ist sie markiert. Ab v18 R3 wurde die XPath Implementation in 4D geändert, um konformer zu sein und mehr Aussagen zu unterstützen. Als Folge davon funktionieren nicht-standardmäßige Features der bisherigen Implementation nicht mehr. Die Standardeinstellungen sind jetzt wie folgt: - das Zeichen "/" am Anfang ist nicht allein der Root Node - ein / als erstes Zeichen in einem XPath Ausdruck deklariert nicht den absoluten Pfad eines Root Node. - kein impliziter aktueller Node - dieser muss in den XPath Ausdruck integriert werden. - keine rekursiven Suchläufe in wiederholten Strukturen - nur das erste Element wird durchlaufen.
Deaktivieren Sie die Option, wenn Sie diese nicht-standardmäßigen Features beibehalten wollen, damit Ihr Code wie bisher weiter funktioniert, Andernfalls, also wenn Ihr Code keine derartigen Features nutzt und Sie in Ihren Anwendungen die erweiterten XPath Features verwenden wollen (siehe unter dem Befehl DOM Find XML element), stellen Sie sicher, dass die Option markiert ist.