Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R8
Überholte und entfernte Funktionalitäten
|
Funktion | Ersetzung | Status in der aktuellen 4D Version |
Datenbankmethode On 4D Mobile Authentication | Force login und authentify() Function | Überholt |
Eingebauter PHP-Interpreter | Externer PHP-Interpreter | Entfernt |
Replication via SQL | ORDA Global Stamp | Überholt |
PDFCreator-Treiber | Nativer Windows PDF-Treiber | Veraltet |
Verstoß gegen die Objektnotation | Überprüfen Sie die Übereinstimmung und aktivieren Sie die Option Kompatibilität der Objektnotation verwenden | Entfernt |
Interprozess-Variablen | Shared objects und collections, | Veraltet |
4D ODBC Pro | Built-in ODBC/SQL Pass through oder 4D REST API | Entfernt |
4D für OCI unter macOS | Built-in ODBC/SQL Pass through oder 4D REST API | Entfernt |
4D ODBC Driver unter macOS | 4D REST API | Entfernt |
4D Internet Commands - Mail | Transporters (IMAP, SMTP, POP3), Email objects | Veraltet |
4D Internet Commands - File Transfert | System workers | Veraltet |
Benutzerformulare | Dynamische Formulare | Überholt |
Dynamische Zuweisung von Variablen, die über HTTP empfangen werden (Kompatibilitätsoption für Datenbanken, die vor v13.4 erstellt wurden) | Befehl (um Variablen wiederherzustellen). / Befehle (um gepostete Dateien wiederherzustellen) | Veraltet |
Konvertierte Untertabellen | N->1 Tabellen verwenden | Veraltet |
Datei und Ordner APIs auf Mac | , | Veraltet |
Code-basierte Standardaktionen | String-Muster ("ak"-Konstanten im Textwerte für zugeordnete Standardaktionen Thema) | Veraltet |
Mac Ressourcen | Verwenden Sie den Ordner "Ressourcen". Aus Kompatibilitätsgründen können Sie ihn in konvertierten Datenbanken weiterhin verwenden. Wir unterstützen keine Schreibzugriffsbefehle mehr. | OS (cicn-Symbole: entfernt.) Datenbank-.RSR-Dateien werden nicht automatisch geöffnet. Sie müssen verwenden. |
CPU Priorität verwalten | keine | Überholt |
Legacy-Netzwerkschicht | ServerNet verwenden | Veraltet |
Wakanda-Anschluss(4D Mobile) | ORDA und REST Server | Überholt |
Erläuterung der Werte für die Spalte "Status":
Jeder überholte Befehl erhält die Vorsilbe _o_ und ist in 4D Listen (Code-Editor, type-ahead Funktion, etc.) nicht verfügbar. Überholte (oder veraltete) Befehle werden nicht aus vorhandenem Code entfernt und funktionieren wie gewohnt, solange sie noch unterstützt werden. Sie lassen sich weiterhin (auch wenn wir davon abraten) mit der Vorsilbe _o_ im Namen in einer Methode hinzufügen und werden korrekt interpretiert.
Befehl | Ersetzt durch | Überholt seit | |
Kapitel 4D Umgebung: | |||
- | v11 | ||
Kapitel Auswahl: | |||
ORDA | v18 | ||
Kapitel Backup: | |||
v16 | |||
Kapitel Benutzerformulare: | |||
Dynamische Formulare | v17 R4 | ||
Dynamische Formulare | v17 R4 | ||
Dynamische Formulare | v17 R4 | ||
Dynamische Formulare | v17 R4 | ||
Kapitel Bilder: | |||
v16 R5 | |||
Kapitel Compiler: | |||
var, #DECLARE und Funktionsprototypen | 20 R7 | ||
v12 | |||
(SVG mit dem Befehl verwenden) | v12 | ||
v12 | |||
(sobald die Datenbank in Unicode ist) | v12 | ||
Kapitel Dateneingabe: | |||
in der n Tabelle einer N->1 Verknüpfung | v12 | ||
in der n Tabelle einer N->1 Verknüpfung | v12 | ||
Kapitel Diagramme: | |||
(4D Diagrammbereich verwenden) | stattdessen ein SVG Bild verwenden | v12 | |
Kapitel Drag and Drop: | |||
Befehle aus dem Kapitel Pasteboard | v17 R4 | ||
Kapitel Drucken: | |||
, , , | v18 | ||
Kapitel Prozesse: | |||
Prozess-Infos | 20 R7 | ||
Kapitel Formulare: | |||
Deaktiviert | v17 R4 | ||
Kapitel Formularereignisse: | |||
Ersetzen mit und geeignetem Ereignis | v12 | ||
Kapitel Hierarchische Listen: | |||
im Code entfernen (führt seit v11 nichts mehr aus) | v11 | ||
Kapitel Unterbrechungen: | |||
Letzte Fehler | 20 R7 | ||
Kapitel Lizenzen: | |||
Lizenz-Informationen | 20 R7 | ||
Kapitel Listboxen: | |||
Konstanten: | |||
_o_lk display hor scrollbar/_o_lk display ver scrollbar | v16 R3 | ||
_o_lk footer height | v16 R3 | ||
_o_lk header height | v16 R3 | ||
_o_lk hor scrollbar position/_o_lk ver scrollbar position | v16 R3 | ||
Kapitel Objekte (Formulare): | |||
v16 R3 | |||
v18 | |||
Kapitel SQL: | |||
v12 | |||
v12 | |||
Kapitel String: | |||
v11 | |||
v11 | |||
Kapitel Subrecords: alle Befehle | Ersetzen Sie "nnn SUBRECORD" und "nnn SUBSELECTION" durch eine Aktion auf den N-Datensatz oder die N-Auswahl der N-Tabelle in einer N->1 Verknüpfung | v12 | |
Kapitel Systemdokumente: | |||
v12 | |||
v16 R6 | |||
v16 R6 | |||
v16 R6 | |||
UTIs und Info.plist verwenden | v16 R6 | ||
Kapitel Systemumgebung: | |||
Identifier für Schrift verwenden | v14 | ||
akzeptiert für Schrift keinen Parameter Lange Ganzzahl: Dieser Parameter ist jetzt ein String und Sie müssen den Schriftnamen angeben. | |||
/ / | v17 | ||
/ / | v17 | ||
User Forms Thema: | |||
Dynamische Formulare | v17 R4 | ||
Dynamische Formulare | v17 R4 | ||
Dynamische Formulare | v17 R4 | ||
Dynamische Formulare | v17 R4 | ||
Webserver-Thema: | |||
Skalierbare Sessions verwenden | v18 R6 | ||
Diese Befehle in alphabetischer Reihenfolge finden Sie im Anhang Überholte Befehle des Handbuchs SET LIST ITEM ICON.
Aus Gründen der Konsistenz wurden in 4D 20 R7 mehrere Befehle umbenannt.
Vorheriger Name | Neuer Name (4D 20 R7 and higher) |
Get action info | Action info |
GET ACTIVITY SNAPSHOT | ACTIVITY SNAPSHOT |
Get application info | Application info |
GET BACKUP INFORMATION | BACKUP INFO |
Get call chain | Call chain |
Get database measures | Database measures |
Get last field number | Last field number |
Get last query path | Last query path |
Get last query plan | Last query plan |
Get last table number | Last table number |
Get license info | License info |
Get license usage | License usage |
Get localized document path | Localized document path |
Get localized string | Localized string |
Get locked records info | Locked records info |
GET MEMORY STATISTICS | MEMORY STATISTICS |
Get Monitored Activity | Monitored activity |
GET MOUSE | MOUSE POSITION |
GET RESTORE INFORMATION | RESTORE INFO |
Get process activity | Process activity |
Get system info | System info |
Get table fragmentation | Table fragmentation |
Session storage by id | Session storage |
Die Datenbankmethode On REST Authentication ist ab 4D 20 R6 überholt. Für die Anmeldung von REST Usern wird jetzt die Force login authentication dringend empfohlen.
In konvertierten Projekten können Sie Ihre Konfiguration aktualisieren, indem Sie auf die Schaltfläche Activate REST authentication through ds.authentify() function klicken. In diesem Blogbeitrag erfahren Sie, wie Sie Ihren Code bei Bedarf migrieren können.
Seit 4D v20 R5 wird das 4D Internet Commands Plug-in nicht mehr mit dem 4D Installationsprogramm geliefert. Falls erforderlich, müssen Sie das 4DInternetCommands.bundle vom 4D Produkt-Download-Portal herunterladen und die Plug-in Dateien im Plugins-Ordner Ihres Projekts oder Ihrer Datenbank installieren.
Die folgenden 4D Internet Commands Funktionen sind veraltet:
Funktion | Ersetzung | Status |
IC Downloaded Mail | Email objects | Veraltet, Dokumentation entfernt |
IC IMAP Review Mail | IMAP Transporter | Veraltet, Dokumentation entfernt |
IC POP3 Review Mail | POP3 Transporter | Veraltet, Dokumentation entfernt |
IC Send Mail | SMTP Transporter | Veraltet, Dokumentation entfernt |
IC File Transfert | System workers | Veraltet, Dokumentation entfernt |
4D v20 R3 und die folgenden Versionen enthalten keinen integrierten 4D PHP-Interpreter mehr. Die meisten Funktionen, die PHP bietet, sind jetzt in 4D implementiert und wir haben beschlossen, den integrierten PHP-Interpreter zu entfernen. und andere PHP-Befehle werden weiterhin funktionieren, aber nur mit einem externen PHP-Interpreter. Weitere Informationen finden Sie auf der Seite OBJECT GET BEST SIZE und in diesem Blogbeitrag.
SQL-Replikations- und Synchronisierungsmechanismen (beschrieben in Replication via SQL) sind ab 4D v20 R3 überholt. Sie werden weiterhin unterstützt, aber es wird jetzt empfohlen, die ORDA-basierte Funktion Global Stamp zu verwenden, die eine flexible und robuste Lösung für die Implementierung von Replikation und Synchronisation in 4D bietet.
Ab 4D v20 ist die Übereinstimmung Ihres Datenbankcodes mit der Objektnotation obligatorisch. Wenn Sie versuchen, eine Datenbank zu konvertieren, in der die Option Objektnotation für den Zugriff auf Objekteigenschaften verwenden noch nicht aktiviert war (Kompatibilitätsmodus, siehe Seite Kompatibilität), zeigt 4D ein Dialogfenster an, in dem Sie die Option vorübergehend aktivieren können, um die Datenbank öffnen zu können. Sie müssen die Option immer noch explizit aktivieren, um sie dauerhaft zuzulassen -- es wird jedoch empfohlen, die Kompatibilität der Applikation vorher mit dem MSC zu überprüfen.
Wenn Sie auf Abbrechen klicken oder wenn die Datenbank den Zugriff auf den Entwicklungsmodus nicht zulässt (kompilierte Datenbank, kein Zugriff im Entwurf...), wird der Fehler -10537 erzeugt und die Datenbank wird nicht geöffnet.
Hinweis: Der Kompatibilitätsmodus war nur in binären Datenbanken verfügbar.
Der PDFCreator Treiber ist ab 4D v20 überholt. Windows 10 und höhere Versionen enthalten einen nativen PDF-Treiber. Die Konstante PDFCreator Druckername wurde umbenannt in _o_PDFCreator Printer name.
Nach jahrelangem Einsatz ist es an der Zeit, sich von ihnen zu verabschieden: Interprozessvariablen sind jetzt überholt. Die Verwendung von Interprozess-Variablen wird in 4D Projekten nicht empfohlen, da sie von präemptiven Prozessen nicht zur Verfügung stehen und nicht für den Umgang mit komplexen Werten wie Arrays, Objekten oder Collections (wenn sie nicht gemeinsam genutzt werden) von mehreren Prozessen gleichzeitig geeignet sind. Schließlich neigen sie dazu, den Code weniger wartbar zu machen. Um Objekt- und Collection-Werte zwischen Prozessen auszutauschen, empfehlen wir dringend die Verwendung von shared Objects und Collections und/oder des Befehls ,und/oder die Singletons.
Ab 4D Write Pro v19 R4 können Sie Zeilenumbrüche verarbeiten. Um Verwechslungen mit Absatz- und Tabellenumbrüchen zu vermeiden, werden alle Umbrüche jetzt über spezielle Konstanten und Standardaktionen behandelt (siehe 4D Write Pro Attribute und 4D Write Pro Standardaktionen verwenden). Die bisherige generische Konstante (_o_wk page break inside) und die Standardaktion (avoidPageBreakInsideEnabled) sind überholt und werden nur noch zur Wahrung der Kompatibilität unterstützt.
Ab 4D v19 ist das 4D ODBC Pro Plug-in nicht mehr auf allen Plattformen verfügbar. Wir empfehlen, den eingebauten ODBC/SQL Pass-Through (siehe und Einführung in SQL Befehle) oder die 4D REST API zu verwenden, um ODBC/SQL Konnektivitätsfunktionen zu handhaben.
Ab 4D v19 ist das 4D for OCI Plug-in nicht mehr unter macOS verfügbar. Wir empfehlen, den eingebauten ODBC/SQL Pass-Through (siehe und Einführung in SQL Befehle) oder die 4D REST API zu verwenden, um Konnektivitätsfunktionen auf dieser Plattform zu handhaben.
Ab 4D v19 ist der 4D ODBC Treiber unter macOS nicht mehr verfügbar. Wir empfehlen die Verwendung des 4D REST API für den externen Datenzugriff auf diese Plattform.
Die Speicheroption Außerhalb der Datendatei wird für Felder vom Typ Objekt nicht mehr unterstützt (siehe Speichern im Datensatz, in der Datendatei, außerhalb der Datendatei). Wenn diese Option für ein Objektfeld ausgewählt wurde, wird es automatisch in In Datendatei konvertiert und für neue Datensätze verwendet. Vorhandene Daten in Objektfeldern werden beim Speichern des übergeordneten Datensatzes transparent an der neuen Position neu geschrieben. Um zu erzwingen, dass alle Datensätze auf einmal umgeschrieben werden, können Sie die Datendatei mit der Option "Datensätze aktualisieren" verdichten.
Ab 4D v17 R4 sind Benutzerformulare überholt. Für anpassbare Benutzeroberflächen empfehlen wir jetzt, dynamische Formulare zu verwenden (siehe Dynamische Formulare des Handbuchs 4D Designmodus). Alle Befehle im Kapitel "Benutzerformulare" sind überholt.
Zur Wahrung der Kompatibilität werden Benutzerformulare noch unterstützt, sie sollten aber nicht mehr verwendet werden. Denn dieses Feature wird in zukünftigen Releases entfernt.
In früheren 4D Versionen hat der Web Server automatisch den Wert von Variablen, die über ein Web Formular oder eine URL gesendet wurden, in 4D Variablen kopiert, wenn sie denselben Namen hatten.
Dieses Prinzip wird aus Sicherheitsgründen in 4D v14 nicht beibehalten, d.h. der Wert von Web Variablen wird nicht mehr automatisch 4D Variablen zugewiesen. Um über POST oder GET gesendete Variablen zu finden, müssen Sie ausschließlich den Befehl verwenden.
Um per POST übertragene Dateien zu erhalten, müssen Sie den Befehl bzw. verwenden.
Hinweis: Die dynamische Zuweisung ist in 4D Anwendungen, die mit v13.4 oder höher erstellt wurden, standardmäßig deaktiviert.
Die bisherige Funktionsweise wird zur Wahrung der Kompatibilität standardmäßig in Anwendungen beibehalten, die mit einer Version älter als 13.4 erstellt wurden. Sie können bei Bedarf in den Datenbank-Eigenschaften auf der Seite Kompatibilität die Option Automatische Zuweisung von Variablen deaktivieren.
Da diese Funktionsweise überholt und unsicher ist, empfehlen wir dringend, diese Option in konvertierten Anwendungen zu deaktivieren (und Ihren Code bei Bedarf anzupassen).
4D warnt Entwickler schon seit einigen Hauptversionen (Major Releases) davor, Untertabellen zu verwenden. Schon seit 4D v11 lässt sich kein Datenfeld vom Typ Untertabelle mehr anlegen. Unterdatensätze haben einige bekannte Einschränkungen. Sie werden z.B. immer in den Speicher geladen und nicht von den Befehlen oder verwaltet.
Wir planen vorerst nicht, die Unterstützung von Untertabellen zu entfernen. Entwickler sollten aber auf alle Fälle ihre Untertabellen in reguläre N-> Tabellen umwandeln, da sie in einer zukünftigen 4D Hauptversion entfernt werden.
Im allgemeinen gibt es zwei Vorgehensweisen zum Entfernen von Untertabellen. Hier ein ein kurzer Überblick:
“den Code an den erforderlichen Stellen ändern” bedeutet im Einzelnen:
Hinweis: Ab 4D v14 R3 können Sie dem speziellen Feld "id_added_by_converter" selbst Werte zuweisen. Dieses Feld fügt 4D automatisch hinzu, wenn eine Anwendung mit Untertabellen konvertiert wird. So können Sie die spezielle Verknüpfung "Untertabelle Verknüpfung" beibehalten und verknüpfte Datensätze ändern oder hinzufügen, als ob sie normale Datensätze wären und müssen nicht mehr überholte Befehle wie verwenden. Sind dann all Ihre Methoden aktualisiert, können Sie diese spezielle Verknüpfung durch eine reguläre Verknüpfung ersetzen, ohne Ihren Code zu verändern.
Ab 4D v16 R6 sind auf Mac OS 9 basierende APIs zur Datei- und Ordnerverwaltung überholt. Diese APIs sind bei Apple schon seit längerer Zeit überholt.
4D Befehle, die auf den alten APIs basieren, wurden entsprechend umbenannt: , , , und . Diese Befehle werden zur Wahrung der Kompatibilität beibehalten. Sie sind jedoch überholt und sollten nicht mehr verwendet werden. 4D enthält zwei neue Befehle zum Verwalten von Pfadnamen und Dateiendungen: und .
Standardaktionen wurden in 4D v16 R3 intern umgestaltet. Sie basieren jetzt auf Stringmustern und unterstützen Parameter. Weitere Informationen dazu finden Sie im Abschnitt Standardaktionen.
In Ihren konvertierten Anwendungen werden Standardaktionen transparent an das neue Design angepasst. In der 4D Programmiersprache basierten Standardaktionen bisher auf Code-Werten. Dieses Prinzip ist überholt und sollte nicht mehr eingesetzt werden:
Dies ist eine weitere alte Mac OS Technologie, die seit Mac OS X 10.4 überholt ist (Tiger, 2005). Ressourcen dienten zum Speichern von Strukturdaten, wie Text und Strings zur Lokalisierung, Icons, etc. Im Grunde genommen sind aber nicht die Ressourcen ansich überholt, sondern vielmehr die Unterstützung einer eigenen Datei auf der Festplatte, auch bekannt als Resource Fork. Sie ist Teil des Mac OS Dateisystems, und Apple hat seit Einführung von OS X die Unterstützung dieser Datei eingestellt, da sie mit anderen Dateisystemen, wie Unix oder Windows, nicht kompatibel ist und beim Übertragen von Dateien über das Netzwerk eine Menge Probleme verursachte.
Unter Windows wird dieser Mechanismus emuliert und Mac Ressourcen liegen in einer .RSR Datei.
Wir raten jedoch davon ab, diesen alten Mechanismus weiter zu verwenden - auch wenn es noch APIs zum Verwalten dieser Ressourcen gibt (und Mac OS in Data Forks gespeicherte Ressourcen transparent verwaltet). Dafür gibt es folgende Gründe:
Befehle, die Ressourcen schreiben oder erstellen, werden nicht mehr unterstützt.
Die meisten 4D Applikationen, die Ressourcen nutzen, verwenden String Listen, d.h. ‘STR#’ Ressourcen. 4D bietet Tools, um einfach von STR# zu XLIFF zu wechseln:
Für andere Arten von Ressourcen gilt folgendes:
Produkt: 4D
Überholte und entfernte Funktionalitäten ( 4D v20 R8)