Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R8
Seite Kompatibilität

Seite Kompatibilität  


 

 

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 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 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 und Execute 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 , und . 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 setzen.
  • QUERY BY FORMULA Uses SQL Joins: Ab 4D Version 11 führen die 4D Befehle und 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.
    • Sie können diese Option auch über den 4D Befehl setzen.
  • 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 oder zu verwenden.
  • 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 Standard Objektnotation verwenden (Preview).
  • 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 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 und Verbindungsprozess für eingebundene Clients.
    Hinweis: Diese Option ist in konvertierten binären Datenbanken ab 4D v20 obligatorisch.
  • 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.

Obwohl es sich nicht um eine Standardimplementierung handelt, möchten Sie diese Funktionen vielleicht weiterhin verwenden, damit Ihr Code wie bisher funktioniert -- in diesem Fall setzen Sie die Option einfach auf nicht markiert. Wenn Ihr Code hingegen nicht auf die Nicht-Standard-Implementierung angewiesen ist und Sie die erweiterten XPath-Funktionen in Ihren Datenbanken nutzen möchten (wie im Befehl beschrieben), stellen Sie sicher, dass die Option Standard-XPath verwenden aktiviert ist.

  • LF für Zeilenende unter macOS verwenden: Ab 4D v19 R2 schreibt 4D Textdateien mit Zeilenvorschub (LF) als Standard-Zeilenende (EOL) Zeichen anstelle von CR unter macOS in neue Projekte. Wenn Sie von diesem neuen Verhalten bei Projekten profitieren möchten, die von früheren 4D Versionen konvertiert wurden, aktivieren Sie diese Option. Siehe und .
  • Fügen Sie beim Schreiben einer Unicode-Textdatei standardmäßig kein BOM hinzu: Ab 4D v19 R2 schreibt 4D Textdateien standardmäßig ohne eine Byte Order Mark (BOM). In früheren Versionen wurden Textdateien standardmäßig mit einem BOM geschrieben. Wählen Sie diese Option, wenn Sie das neue Verhalten in konvertierten Projekten aktivieren wollen. Siehe und .
  • DirectWrite für die Textdarstellung in Formularen verwenden: Unter Windows verwenden 4D Projekte und Datenbanken, die mit 4D v19 R3 und höher erstellt wurden, die DirectWrite API in Formularen. Diese API verbessert die Textdarstellung insbesondere bei hohen DPI-Konfigurationen. Sie wird jedoch nicht standardmäßig in Projekten und Datenbanken verwendet, die mit einer früheren 4D Version erstellt wurden, da sie die Gesamtanzeige Ihrer bestehenden Formulare verändern kann. Aktivieren Sie diese Option, wenn Sie die Vorteile dieser API in Ihren Formularen nutzen möchten - bedenken Sie aber, dass Sie dafür möglicherweise das Design Ihrer Formulare unter Windows anpassen müssen. Wenn die Option aktiviert ist, wird DirectWrite für die Textdarstellung bei Formularobjekten wie statischem Text und Eingabetext, Kontrollkästchen, Schaltflächen und Optionsfeldern verwendet. Beachten Sie, dass die Textdarstellung für Listboxen, die bereits DirectWrite verwenden, nicht verändert wird.
  • NULL-Werte auf leere Werte zuordnen ist bei der Erstellung von Feldern standardmäßig nicht aktiviert: Für eine bessere Übereinstimmung mit den ORDA-Spezifikationen ist in Datenbanken, die mit 4D v19 R4 und höher erstellt wurden, die Feldeigenschaft NULL-Werte auf leere Werte zuordnen standardmäßig nicht aktiviert, wenn Sie Felder erstellen. Sie können dieses Standardverhalten auf Ihre konvertierten Datenbanken anwenden, indem Sie diese Option aktivieren (die Arbeit mit Nullwerten wird jetzt empfohlen, da sie von ORDA vollständig unterstützt werden).



Siehe auch 

Compatibility settings (Part 1) - Query by formula
Compatibility settings (Part 2) - Use period and comma as placeholders
Compatibility settings (Part 3) - Nested Transactions
Compatibility settings (Part 4) - All the rest

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Datenbank-Eigenschaften

 
SEITENINHALT 
 
GESCHICHTE 

Geändert: 4D v16 R4
Geändert: 4D v16 R6
Geändert: 4D v18 R3
Geändert: 4D v19 R2
Geändert: 4D v19 R4
Geändert: 4D v20

 
ARTIKELVERWENDUNG

4D Designmodus ( 4D v20 R8)