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.
Benutze 4DVAR Kommentare statt Klammern: Damit bestimmen Sie die Syntax für 4D Ausdrücke in statischen Seiten. Ist diese Option ausgewählt, müssen Sie die Standardsyntax von HTML verwenden: <!--4DVAR MEINEVAR--> (Zwischen 4DVAR und dem Variablennamen muss ein Leerzeichen stehen!). Ist diese Option nicht ausgewählt, müssen Sie als Syntax eckige Klammern verwenden: [MEINEVAR] — Diese Variante wurde nur in älteren Versionen des 4D Web Server verwendet.
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. Im Unicode Modus verwalten Datenbank-Engine und Programmiersprache Zeichenketten in Unicode nativ. Im Kompatibilitätsmodus wird von der Programmiersprache der ASCII Zeichensatz verwendet. Mit dieser Option lässt sich die Kompatibilität konvertierter Datenbanken aufrechterhalten. Sie ist für Datenbanken, die mit 4D v11 oder höher erstellt wurden, standardmäßig markiert, für konvertierte Datenbanken nicht markiert. Hinweise:
Sie gilt immer für eine Datenbank. Im interpretierten Modus können Sie demnach eine Unicode Datenbank zusammen mit Komponenten im Ascii Kompatibilitätsmodus haben, oder umgekehrt.
Weitere Informationen zur Unterstützung von Unicode finden Sie im Handbuch 4D Programmiersprache im Abschnitt ASCII Codes.
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 komvertierten 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.