11 Alexandria - Release 1

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Hauptseite

Nach oben zu Neuerungen in den letzten Releases

Aktualisiertes RAD Studio 11.1 Alexandria-Release verfügbar (15. März 2022).

Hinweis:

RAD Studio 11 Alexandria – Release 1 (alias 11.1) ist für die Installation verfügbar. RAD 11.1 baut auf dem Funktionsumfang von 11 auf, wobei im gesamten Produkt Funktionen erweitert und neue hinzugefügt wurden. Delphi 11, C++Builder 11 und RAD Studio 11 stehen für jeden aktiven Update Subscription-Kunden zum Herunterladen zur Verfügung.

Der Hauptfokus bei RAD Studio 11.1 wurde auf Qualitätsverbesserungen gelegt. Zu den wichtigsten Bereichen mit Qualitätsverbesserungen zählen:

  • IDE
  • Remotedesktop
  • Delphi- und C++-Compiler
  • C++-Toolkette
  • Delphi-LSP
  • C++-LSP
  • Delphi-RTL
  • VCL
  • FireMonkey
  • Daten
  • Internet

Wichtige Verbesserungen in 11.1 nach Produktbereich

Verbesserungen in der IDE

Allgemeine IDE-Verbesserungen

  • Der Vorgang "Mit der Arbeit beginnen" nach Abschluss der Installation startet die IDE neu, sodass die erste Ausführung mit Benutzerrechten und nicht mit erhöhten Rechten erfolgt.
  • "Laufzeit-Themes aktivieren" ist jetzt für die Basiskonfiguration eines Projekts aktiviert.
  • ProjectRoot in einer dproj/cbproj-Datei sollte jetzt immer konsistent sortiert werden.
  • Im IDE-Dialogfeld "Warten" der ToolsAPI-Schnittstelle wurden einige Parameter umbenannt, um deren Funktionalität besser widerzugeben.
  • Der Menüeintrag "Neues Editierfenster" ist jetzt deaktiviert, wenn in einer Ansicht Klonen nicht unterstützt wird. Dazu zählt die Willkommensseite, die nicht dupliziert oder in ein anderes Fenster gezogen werden kann.
  • Die Seite Optionen > Speichern und Desktop wurde in zwei neue Seiten aufgeteilt:
    • "Speichern und Wiederherstellen" (enthält Optionen für die automatische Wiederherstellung und Speicherung)
    • "Desktop und Layout" (enthält die restlichen Optionen)
  • In der Ansicht "Meldungen" im Dialogfeld "Optionen" können Sie jetzt die Farben für Fehler, Warnungen und Hinweise ändern. Sie können verschiedene Farben für jedes IDE-Theme festlegen, d. h., unterschiedliche Farben für hell und dunkel oder andere Themes festlegen.
  • Für einige kleinere von der IDE verwendete Dialogfelder wurde die Unterstützung für Stile hinzugefügt, wie z. B. die Aufforderung an Benutzer, das Überschreiben von Dateien zu bestätigen, sowie die Anzeige einer Warnung dazu, die Prüfung auf Unicode-Projektnamen und die Verwendung einer ungültigen Codepage.
  • Das Problem, dass eine Projektdatei eine inkonsistente Sortierreihenfolge der bereitgestellten Dateien haben könnte, was bedeutet, dass sie sich ändert, ohne dass sich ihr Inhalt ändert, wurde behoben.
  • Die standardmäßige C++-Konsolen-App wurde verbessert, und das Erstellen einer Konsolen-App besteht jetzt aus einem schnellen Tastenkürzel im Menü "Datei > Neu" (und "Neu erstellen") sowohl für C++ als auch für Delphi.
  • Einige Elemente aus dem IDE Fix Pack wurden integriert.
    • Die IDE-Symbolleisten, wie etwa die Symbolleisten für die Bearbeitung
    • Fehlende Bildlaufleisten auf den Seiten des Dialogfelds "Optionen"
    • Rendering-Probleme im Objektinspektor
    • IDE und der Code-Editor wurden beim Debuggen leer angezeigt
    • Sondertasten (wie die Windows-Taste) bei der Texteingabe im FMX-Formular-Designer
    • Listenmodus in der Ansicht "Projekte"
    • Eine Reihe von Exceptions und vieles mehr
  • Im Dialogfeld Objektgalerie werden Plattformen für alle Elemente angezeigt.
  • Im Dialogfeld "Neu", in dem Sie Ihrem Projekt Elemente hinzufügen können, werden Elemente auf Grundlage der aktiven Plattform des Projekts ausgeblendet.
  • Das Dialogfeld "Neu" unterstützt auch mehrere Ansichtsstile und nicht nur eine vertikale Liste (Karte, Liste, Symbole und kleine Symbole).
  • Das Dialogfeld "Objektgalerie" verwendet jetzt das VCL-Steuerelement TControlList, wodurch das Scrollen verbessert wird.
  • Im Dialogfeld "Compilieren" werden jetzt die Plattform und die Build-Konfiguration und Fehler vor Warnungen und Hinweisen angezeigt.

High-DPI-Qualitätsverbesserungen in der IDE

  • Datenmodule speichern jetzt die Eigenschaft PixelsPerInch, wenn ihr Wert 96, dem Standard, entspricht. Dies trifft auch für VCL-Formulare zu.
  • Dynamisch erstellte Frames werden jetzt beim Entwurf mit High DPI korrekt skaliert.

Willkommensseite

  • Die Willkommensseite unterstützt jetzt Hintergrundbilder. Wenn Sie ein Bild auswählen, wird es so skaliert, dass es auf die Willkommensseite passt. Das Seitenverhältnis wird beibehalten, was bedeutet, dass die linke/rechte oder obere/untere Seite des Bildes außerhalb des Bildschirms liegen kann, solange die andere Achse der Größe der Willkommensseite entspricht.
  • Das Dialogfeld "IDE-Optionen" enthält eine neue Seite für die Einstellungen der Willkommensseite, darunter der Hintergrund (der nach Theme festgelegt werden kann) und das Schließen der Seite beim Öffnen eines Projekts. Sie können auf diese Seite auch über den Layout-Editor zugreifen.
  • Die Frames der Willkommensseite sind jetzt standardmäßig transparent. Das Hintergrundbild, das Sie festlegen, scheint teilweise durch. Der Transparenzwert ist eine der in der ToolsAPI verfügbaren Metriken für die Willkommensseite.
  • Der Abstand zwischen Frames und den oberen und unteren Rändern der Willkommensseite wurde etwas optimiert.

ToolsAPI-Unterstützung!

Die Willkommensseite unterstützt jetzt vollständig das Erstellen von Frames mit der ToolsAPI! Unsere Frames verwenden dieselbe API, das bedeutet, dass alles, was unsere Frames können, Ihre auch können.

Auf unserem öffentlichen Github finden Sie zwei Willkommensseiten-Demos, die eine einfache und eine fortgeschrittene Verwendung zeigen.

In der einfachsten Form können Sie eine von TFrame abgeleitete Klasse erstellen und Titel anzeigen. Dieser Frame kann beliebigen Inhalt haben. Wir verfügen jedoch über komplexere Funktionen, die Sie ebenfalls nutzen können:

  • Frame-Titel können angepasste UI-Elemente von Chrome enthalten (implementiert über einen zweiten Frame), genau wie einige unserer Frames z. B. der Frame "Letzte öffnen" (Schaltflächen) und der Frame "Erstellen" (Umschalten zwischen Delphi und C++)
  • Unsere Frames verwenden ein MVC-Muster und laden Daten in einen Hintergrund-Thread. Sie können unsere Implementierung verwenden, einschließlich derselben Frames und Listenansichten, mit denen unsere erstellt wurden. Das bedeutet, dass Sie dasselbe Verhalten und Aussehen erhalten können, ohne unserer Setup zu imitieren, auch wenn in Zukunft Änderungen am Standardlayout, den Größen usw. vorgenommen werden.

Verbesserungen des GetIt-Dialogfelds

  • Das GetIt-Dialogfeld wurde umgestaltet, dabei wurde die Benutzeroberfläche ähnlich beibehalten, aber es wurde eine ControlList-Komponente für die Liste der Packages hinzugefügt. Dies hat spürbare Auswirkungen auf die Leistung.
  • RAD Studio speichert jetzt die Package-Symbole in GetIt, wodurch die Zeit für das erneute Öffnen des Dialogfelds verkürzt wird.
  • Es gibt eine neue Option zum Ignorieren von Patches in GetIt. Damit können Sie die Installation eines Patches überspringen und die Benachrichtigung über den anstehenden Patch stoppen.

Verbesserungen von Compilern und Toolketten

Delphi und C++

ASLR, DEP/NX und TSAWARE

In Delphi und C++ bieten die Windows-Linker jetzt eine bessere Unterstützung für Plattform-Sicherheitskonfigurationen:

Für Delphi:

  • Diese Features waren bereits als Compiler-/Linker-Flags verfügbar:
    • {$DYNAMICBASE} für ASLR
    • {$SetPEOptFlags $40} für DEP/NX oder die entsprechende Option --peflags

Für C++:

  • Verwenden Sie die Linker-Option -GE:, um diese Flags zu aktivieren oder zu deaktivieren:
 -GE:option|0xNNNN[=on|off] DLL-Merkmals-Flags festlegen
 	ALLOWBIND | ALLOWISOLATION | DYNAMICBASE | HIGHENTROPYVA
 	NXCOMPAT | TSAWARE
HIGHENTROPYVA ist ASLR; NXCOMPAT ist DEP/NX und TSAWARE ist für den Terminal-Server.

Für Delphi und C++:

  • Die Aktivierung dieser Einstellungen ist jetzt der Standard.
  • Wir erstellen weitergabefähige Binärdateien (wie BPL-Package-Dateien) mit aktivierten Sicherheitskonfigurationen.

Delphi-Debugger für macOS ARM und Android

Wir haben einen neuen Debugger für die Ausführung einer macOS-Anwendung auf einem Apple ARM-Gerät. Dieser Debugger wird auf Intel-Rechnern nicht verwendet.

Dieser neue Debugger ist ein neuer Build von LLDB, und seine Schlüsseltechnologie ist ein Delphi-Parser, der eine Teilmenge der Delphi-Syntax versteht. (Beispielsweise versteht er Delphi-Ausdrücke, obwohl Sie keine neue Klasse definieren können. Er sollte genug Delphi für alle Debugger-Ausdrücke verstehen, die Sie verwenden müssen.) Diese Syntax entspricht Delphi ohne Berücksichtigung der Groß-/Kleinschreibung und ist fähig, komplexe Ausdrücke in der Delphi-Syntax auszuwerten.

Wir haben diesen Debugger auch für Android 64 Bit aktiviert. Bei diesem Debugger ist es viel unwahrscheinlicher, dass er "Verbindungsabbrüche" oder Einfrieren verursacht.

C++-Compiler und Toolkette

  • Der Standardkonstruktor für UnicodeString ist jetzt nicht mehr inline, was hilfreich ist, wenn beim Debuggen und Aufrufen einer Funktion, die einen String zurückgibt, nicht der Konstruktor herangezogen werden soll.
  • AnsiStringT hat das Namespace-Präfix System::
  • Viele intrinsisch Header (xmmintrin.h usw.) sollten jetzt verfügbar sein.
  • Dieses Release umfasst ein Breaking Change der C++-RTL. Das bedeutet, dass C++-Bibliotheken in 11.1 neu erzeugt werden müssen (d. h. nicht mit Objektdateien oder .lib-s linken, die mit 11.0 erstellt wurden). Diese Änderung bezieht sich auf die korrekte Handhabung von Handles für Win64. Einige interne RTL-Strukturen wurden in der Vergangenheit nicht verbreitert, sodass Handles möglicherweise abgeschnitten wurden. Jetzt sind sie breit genug.
  • Zusätzliche intrinsische Elemente (z. B. SSE-AVX) werden jetzt mit unserer RTL ausgeliefert.
  • System::DynamicArray enthält STL-Member für die Iteration, wie z. B. begin().
  • Einige String-Funktionen, die in Delphi in unterstützenden Klassen waren, sind jetzt in C++ verfügbar.
  • Die IDE hatte ein Problem, bei dem die Verknüpfungspfade dazu führten, dass der Linker die klassischen Debug-Bibliotheken (falls vorhanden) vor den Clang-Release-Binärdateien fand. Das bedeutet, dass Ihre Kunden letztendlich mit der Version des falschen Compilers linken würden, wenn Sie Debug-Builds Ihrer Komponente oder Bibliothek bereitstellen und beide Compiler unterstützen würden. Dies ist jetzt behoben.
  • Eine Vielzahl von Compiler-Fehlern im Debugger (insbesondere Win64) und Debug-Informationen wurden verbessert, die Verwendung einer TDS-Datei im Release-Modus, Optimierungen der Gebietseinstellungen und vieler anderer RTL- und STL-Bereiche, viele Verbesserungen an den Import-Bibliotheken, Korrekturen an coff2omf für die generierten OMF-Bibliotheken usw.

LSP-Verbesserungen (Delphi und C++)

Delphi-LSP

  • Bei DelphiLSP wurde großer Wert auf Qualität und Geschwindigkeit gelegt, und 11.1 bringt einige erhebliche Leistungsverbesserungen.
  • Die wichtigste Änderung besteht darin, dass die neue höhere Leistung für alle Projekttypen gilt, auch für Packages.
  • Exception-Infos werden wieder in der Symbolbeschreibung angezeigt.
  • Zeilennummerninformationen sind jetzt in der Symbolbeschreibung für Arrays und Mengen verfügbar.
  • Durch Drücken von "Strg+Umschalt-Ab" in einem inaktiven Makro/ifdef wurde zur Implementierung der nächsten deklarierten Methode gesprungen.
  • Die Navigation bei gedrückter Strg-Taste funktioniert jetzt auch mit aliasierten generischen Typen. Wenn IntArray beispielsweise ein TArray<Integer> ist, führt ein Strg-Klick auf IntArray zu der Stelle mit der Deklaration des Typs TArray<Integer> und nicht zu der Stelle von TArray<> in System.pas.
  • Ein Problem wurde behoben, bei dem die Navigation mit "Strg+Umschalt+Auf/Ab" nicht korrekt funktionierte, wenn sich Include-Anweisungen in der Unit befanden.
  • Die Fehlermarkierung hat nicht funktioniert, wenn das Projekt Dateien verwendete, die sich auf einem anderen Laufwerk als das Projekt befanden.
  • Normale Projekte werden jetzt viel schneller geladen. Die Technik, die wir zum Laden eines Projekts verwenden, wurde erheblich geändert, mit deutlich weniger Parsen. DelphiLSP sollte das Laden eines Projekts viel schneller beenden und wieder schneller auf Anforderungen reagieren.
  • Die Ergebnisse der Fehlermarkierung werden jetzt deutlich schneller aktualisiert. Auch hier können Sie mit einer 5- bis 30-fachen Geschwindigkeitssteigerung rechnen. Die größte Verbesserung ist bei Units mit vielen Abhängigkeiten (viele andere Units werden verwendet) zu verzeichnen.

Weitere Verbesserungen:

  • Bessere Handhabung von Makros (defines), sodass das Umschalten zwischen der Implementierung und der Deklaration einer Methode besser funktioniert, wenn IFDEFs vorhanden sind, ebenso wie die Programmierhilfe in Klassendeklarationen.
  • Makros (defines) werden auch gefunden, wenn sie in einer einbezogenen Datei deklariert sind, was sich auf das oben Genannte auswirkt.
  • Bei der Deklaration einer Eigenschaft schlägt die Programmierhilfe Getter und Setter vor.
  • Die Programmierhilfe zeigt Mengentypen an.
  • Typparameter werden in der Programmierhilfe in einer Klassendeklaration angezeigt, einschließlich generischer Typen (z. B. T) in einer generischen Deklaration.
  • Kurzhinweise/Hilfe zu Parametern kann bei der Instanziierung generischer Typen angezeigt werden.
  • Die Programmierhilfe hat einige TObject-spezifische Vervollständigungen angezeigt, wie AfterConstruction, bei der Vervollständigung innerhalb einer Record-Deklaration. Dies wurde behoben

C++ und cquery

Die neue Registerkarte "LSP-Verhalten" enthält zwei Optionen, die steuern, wie der cquery-LSP-Server Dateien indiziert, d. h. wie er die Informationen speichert, die er für die Programmierhilfe, die Navigation usw. verwendet: "Server bei jeder Aktivierung eines Projekts neu starten" und "Nur im Editor geöffnete Dateien indizieren". Weitere Informationen.

Hinweis: Die Indizierung kann sehr CPU-intensiv sein und Sie können Code Insight in der Regel nicht verwenden, bevor sie abgeschlossen ist. Beachten Sie, dass bei einem Neustart des Servers, z. B. bei einem Plattformwechsel, auch der Index gelöscht wird.

Weitere Verbesserungen:

  • Die Elemente der Programmierhilfe werden in der Reihenfolge angezeigt, in der sie von cquery zurückgegeben werden, d. h. in der Reihenfolge des Gültigkeitsbereichs, es sei denn, Sie aktivieren die alphabetische Sortierung (ist standardmäßig deaktiviert).
  • Die Indizierung sollte in den Projektoptionen für alle C++-Projekte standardmäßig aktiviert sein.
  • Sie können nun Code vollständig in Header-Dateien schreiben, die nicht direkt Teil des Projekts sind (z. B. nicht Teil eines cpp/Header-Unit-Paars).
  • Wenn Sie Projektoptionen oder die aktive Plattform ändern, wird der Server neu gestartet, um die neuen Projekteinstellungen zu übernehmen.
  • Dem Server ist jetzt bekannt, wann eine Datei gespeichert wurde, und aktualisiert sie korrekt. Dies ist wichtig für neue Dateien, da Code Insight in diesem Build erst dann funktioniert, wenn die Datei auf der Festplatte vorhanden ist.

Weitere C++Features;

  • Die IDE wartet korrekterweise, bis der Server bereit ist.
  • Sie können Code vollständig in die Hauptquelldatei eines Projekts schreiben.

Verbesserungen der Leistung

  • Die Programmierhilfe wird in zwei Sekunden oder weniger angezeigt, unabhängig von der Größe des Projekts. Beachten Sie, dass beim Aufrufen der Programmierhilfe im globalen Gültigkeitsbereich für ein VCL-Projekt über achtzigtausend Elemente zurückgegeben werden.

Verbesserungen der Bibliotheken

Um die gemeinsame Nutzung von Code in Projekten, die mit FMX und der VCL erstellt wurden, zu erleichtern, haben wir frameworkspezifische vordefinierte Symbole hinzugefügt:

  • FRAMEWORK_VCL – Diese vordefinierte Variable wird auf true gesetzt, wenn das Projekt das VCL-Framework verwendet.
  • FRAMEWORK_FMX – Diese vordefinierte Variable wird auf true gesetzt, wenn das Projekt das FireMonkey-Framework (FMX) verwendet.

Delphi-RTL

Optimierungen

  • In Bezug auf die Delphi-RTL haben wir einige Leistungsoptimierungen durchgeführt.
  • Wir haben auch Verbesserungen an _CopyArray, _IntToStr64, _IntToStr32, InitInstance, InvokeRecordInitializer, _FinalizeRecord, _UStrAsg (einschließlich der PurePascal-Version), _LStrAsg, _LStrLAsg, AnsiLowerCase/AnsiUpperCase und TStringHelper.IndexOf vorgenommen.

Neue Klasse TURLStream

  • Es gibt eine neue Stream-Klasse, TURLStream, und eine allgemeine Basisklasse: TAsyncStream ist eine neue Basisklasse für asynchrone Streams, geerbt von TMemoryStream. TURLStream ist ein asynchroner Stream, der URL-Pfade unterstützt, geerbt von TAsyncStream.
  • TAsyncStream.Create startet APopulate im Hintergrund-Thread. Solange dies nicht abgeschlossen ist, werden alle TStream-Methoden, die TAsyncStream aufrufen, blockiert. Eine Anwendung kann:
    • IAsyncResult verwenden, um auf den Abschluss des Füllens von TAsyncStream zu warten/das Füllen zu prüfen. TAsyncStream unterstützt IAsyncResult.
    • Eine anonyme AProvide-Methode bereitstellen, die beim Abschluss des Füllens aufgerufen wird.
  • Der TURLStream-Konstruktor erweitert den Basisklassenkonstruktor und wird wie folgt deklariert:
constructor TURLStream.Create(const AURL: string; 
 const AProvide: TAsyncStream.TStreamer;
 ASynchronizeProvide, AFreeOnCompletion: Boolean);
  • TURLStream erbt das Verhalten der TAsyncStream-Basisklasse, verwendet aber intern THttpClient oder TFileStream, je nach URL-Schema.
  • TAsyncStream definiert die folgenden als public deklarierte Methoden: Destroy, AfterConstruction, Read, Write, Seek, SetSize(Int64), SetSize(Longint), SaveToStream.
  • TURLStream definiert die folgenden als public deklarierte Methoden: Destroy, RegisterSyncReqExexcutor, UnRegisterSyncReqExecutor.

Weitere RTL-Verbesserungen

  • Unterstützung für Windows 11 und Server 2022 in der TOSVersion-Datenstruktur
  • TURI.ToString berücksichtigt den Port
  • TMetaFile kann nun aus einem großen Stream laden

TMemIniFile und doppelte Abschnitte

  • TIniFile wurde geändert, um die Kompatibilität mit dem Verhalten vor 10.3 in Bezug auf doppelte Abschnitte zu verbessern.

VCL

Wir haben in erster Linie Probleme im Zusammenhang mit neuen Funktionen wie TTreeView, TRichEdit, TEdgeBrowser und TNumberBox behoben.

FireMonkey

Verbesserte Android-SDK-Integration

  • Wir haben die Abhängigkeiten zum android.bat-Dateitool zugunsten von advmanager entfernt und das Dialogfeld "IDE-SDK-Manager" für die Android-Plattform aktualisiert.
  • Die DEX-Compilierung und die DEX-Zusammenführung sind jetzt nach dem C++-/Delphi-Linken verschoben, wodurch die Compilierung ohne Bereitstellung schneller erfolgt.
  • Für die Kernintegration der Android-Plattform haben wir Unterstützung für Delphi-Klassen hinzugefügt, die Java-Schnittstellen mit Methodenüberladungen implementieren. Dadurch wird ein Problem mit Android 12 und dem Zugriff auf Sensoren gelöst (Behebung der SensorInfo-Demo).
  • Delphi-Klassen, die Java-Schnittstellen implementieren, können jetzt Funktionen haben, die Int8-, Int16-, Int64-, Float32- und Float64-Werte zurückgeben.

TWebBrowser

  • Verbesserungen an TWebBrowser unter Windows (mit WebView 2-Unterstützung), einschließlich der Möglichkeit, die WindowsEngine mehrmals zu ändern. Der Standardwert der Eigenschaft WindowsEngine wurde geändert.
  • Es wurden auch Probleme mit der Größenänderung und der Transparenz des Steuerelements behoben. Außerdem wurde WebBrowser für die Arbeit mit lokalen Dateien auf mobilen Geräten verbessert.

Zusätzliche FMX-Qualitätsverbesserungen

  • Mehrere Probleme im Zusammenhang mit Windows HighDPI behoben
  • Verbesserte Leistung von TMessageManager.Unsubscribe
  • Option "Rückgängig" dem Kontextmenü von TMemo hinzugefügt und Probleme mit dem automatischen Scrollen des Inhalts behoben
  • Verbesserungen bei der Emoji-Farbe für Android und iOS
  • Verbesserungen der Unterstützung für den Metal-GPU-Treiber auf der macOS-Plattform

Daten

Allgemein

  • Wir haben den Bereich "Feldverbindungs-Designer" und das Dialogfeld "Neues Feld" vergrößert und benutzerfreundlicher gemacht.
  • Zur Unterstützung der langen Firebird 4-Feldnamen (bis zu 63 Zeichen) wurde die Begrenzung auf 31 Zeichen in Feldnamen in der Datenbank-RTL entfernt.

FireDAC

  • Unterstützung für die Strukturansicht für FireDAC implementiert. Auch einige der FireDAC-Fenster bieten eine bessere Unterstützung für High DPI.
  • Unterstützung für MariaDB 10.6-Server mit einem 10.6-Client hinzugefügt
  • Unterstützung für SQLite SEE hinzugefügt mit einem Befehlszeilen-Batch zum Erzeugen von SQLite-OBJs mit C++Builder für die statische FireDAC-Bindung. In der Readme-Datei sqlite_see.txt ist der Prozess erklärt (dieses Feature war bereits für RAD Studio 11.0 über ein GetIt-Plugin verfügbar).
  • FireDAC verbessert den Firebird 4-Treiber durch Unterstützung weiterer Datentypen:
    • INT128
    • NUMERIC mit einer Genauigkeit von 19..38
    • TIME WITH TIME ZONE, TIMESTAMP WITH TIME ZONE (begrenzt)
    • DECFLOAT(16/34)
    • Native Anweisungszeitüberschreitung
  • FireDAC unterstützt die Seitengröße 32768 von FireBird 4.

Internet

WebBroker auf Android

  • Die WebBroker-Serveranwendungen können jetzt auf Android-Geräten oder Entwicklerboards (wie Raspberry Pi mit dem Android-Betriebssystem) bereitgestellt werden. 32-Bit-Android und 64-Bit-Android werden unterstützt.

DataSnap

  • Wir haben Web.Win.ISAPIThreadPool erweitert, um mehr als 64-Threads zuzulassen. Der Typ der Variable NumberOfThreads wurde in Cardinal geändert. Die Variable ShutdownTimeout (eine Zeitüberschreitung in Millisekunden, die der Thread-Pool wartet, bevor alle Worker-Threads finalisiert werden) hat den Standardwert 2 Minuten.

RAD Server

  • Einige Verbesserungen an der Datenbankstruktur und neue entsprechende REST-SysAdmin-Endpunkte:
    • GET /sysadmin/log – gibt Informationen über den LOG-Tabelleninhalt zurück.
    • POST /sysadmin/log?minTime=<ISO8601-Datum> – löscht alle Datensätze aus der LOG-Tabelle, die älter als das angegebene Datum/die angegebene Uhrzeit sind.
    • DELETE /sysadmin/log – löscht alle Datenätze aus der LOG-Tabelle.
    • GET /sysadmin/backup?backupFile=<Dateipfad> – erstellt eine angegebene Sicherungsdatei der emsserver.ib-Datenbank. Die Sicherungsdatei wird auf dem InterBase-Server gespeichert.
    • POST /sysadmin/backup?backupFile=<Dateipfad> – stellt die emsserver.ib-Datenbank aus der angegebenen Sicherungsdatei wieder her. Die Sicherungsdatei wird auf dem InterBase-Server gespeichert.
    • GET /sysadmin/validate – führt eine Validierung der emsserver.ib-Datenbank durch und gibt den Datenbankstatus zurück.
  • RAD Server-Benutzer können sich von mehr als einer Sitzung aus gleichzeitig anmelden.
  • Neue Bereitstellungsfunktion für RSLite
    • Option in EMS.INI zum Auswählen einer bestimmten Interbase-Clientbibliothek (für eingebettete oder reguläre DB) mit dem Eintrag "ClientLib" im Abschnitt "Data".
    • Es gibt jetzt eine gebrauchsfertige Bereitstellungsfunktion für RSLite.

Sonstiges

  • Eine Option zum Auswählen eines clientseitigen Zertifikats im REST-Debugger.
  • Der REST-Debugger ist jetzt DPI-fähig.
  • Die Klasse TCustomRESTRequest hat die neue Eigenschaft BodyCodePage, die die Codeseite des Anforderungsrumpfs angibt. Einige der speziellen Werte sind:
    • -1 (der Standardwert) – die Standardcodierung der Plattform verwenden
    • 0 – aktuell aktive Codeseite
    • 65001 – UTF8
  • Unterstützung für das Umschalten der Region in AmazonAPI

Siehe auch