Release-Hinweise

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Neuerungen


Diese Release-Hinweise enthalten wichtige Informationen, die möglicherweise nicht in der Hauptdokumentation zu dem Produkt vorhanden sind. Lesen Sie diese Hinweise bitte vollständig durch.

Inhaltsverzeichnis

Installation, Deinstallation und Upgrade von RAD Studio

Bitte lesen Sie vor der Installation, Deinstallation oder dem Upgrade des Produkts die folgenden Dateien für Ihre gewählte Sprache (xx kann en, de, fr oder ja sein):

  • radstudio_install_xx.htm: enthält die Systemanforderungen sowie Installations- und Upgrade-Anleitungen.
  • radstudio_license_xx.rtf: enthält Ihren Softwarelizenz- und Supportvertrag.
  • radstudio_deploy_xx.htm: enthält Informationen zur Bereitstellung.

Die neueste Version der Datei radstudio_install_xx.htm finden Sie an folgenden Speicherorten:

  • Installationshinweise.
  • Im Installationsverzeichnis des Produkts. Der Standardspeicherort ist: C:\Program Files (x86)\Embarcadero\Studio\21.0

Offline-Installationsprogramm

  • Laden Sie das Installationsprogramm und die .gof-Datei in denselben Ordner herunter.
  • Starten Sie das Installationsprogramm.

Es erkennt automatisch den Offline-Modus und verwendet das Offline-Image, um die RAD Studio-Features zu installieren.

Wenn Sie das Offline-Installationsprogramm verwenden, kann RAD Studio nicht auf den GetIt-Package-Manager zugreifen. Dazu müssen Sie manuell in den Online-Modus wechseln. Verwenden Sie dazu das Tool GetItCmd.exe: GetItCmd.exe -c=useonline

Frühere Versionen und Migration

RAD Studio enthält Lizenzen für frühere Versionen

Die Lizenz für Ihr 10.4 Sydney umfasst Lizenzen für frühere Versionen des Produkts.

  • Delphi 10.4 Sydney enthält Lizenzen für Delphi Rio, Tokyo, Berlin, Seattle, XE8, XE7, XE6, XE5, XE4, XE3, XE2, XE, 2010, 2009, 2007 und 7.
  • C++Builder 10.4 Sydney enthält Lizenzen für C++Builder Rio, Tokyo, Berlin, Seattle, XE8, XE7, XE6, XE5, XE4, XE3, XE2, XE, 2010, 2009, 2007 und 6.

Weitere Informationen zu Lizenzen finden Sie in der Datei radstudio_license_xx.rtf im Installationsverzeichnis von RAD Studio.

Upgrade von Projekten beim Öffnen

Wenn Sie in RAD Studio 10.4 Sydney ein Projekt öffnen, das mit einer früheren Version von RAD Studio erstellt wurde, führt RAD Studio automatisch ein Upgrade des Projekts durch. Projekte, für die ein Upgrade erfolgt ist, sind nicht mehr kompatibel mit früheren Versionen von RAD Studio.

Erstellen Sie immer eine Sicherung Ihres Projektes bevor Sie es mit einer neueren Version von RAD Studio öffnen.

Firewalls können die GetIt-Installationsdateien blockieren

Wenn Ihre Firewall .7z-Dateien blockiert, schlägt die GetIt-Installation fehl.

Windows

DLLs exportieren RTL-Methoden

Beim Linken einer 64-Bit-Anwendung mit einer Importbibliothek einer DLL in der Projektverwaltung wird die Bibliothek in die Befehlszeile des Linkers eingefügt und verbindet den Linker mit dem Symbol __CPPdebugHook in der Importbibliothek der DLL anstatt mit dem eigenen internen RTL-Symbol. Linken Sie die Importbibliothek mit #pragma link oder #pragma comment und entfernen Sie die Referenz auf die Importbibliothek in der Projektverwaltung, um dies zu verhindern. Dadurch wird der Linker veranlasst, nach Symbolen in der Importbibliothek erst am Ende zu suchen, und linkt daher mit dem richtigen __CPPdebugHook-Symbol in seiner eigenen RTL.

Probleme beim zweiten Erstellen mit MSBuild

Beim zweiten Erstellen mit MSBuild mit oder ohne zusätzlicher Ressourcendatei erfolgt die Prüfung, ob die Ressourcendatei der Projektversion erstellt (build) werden soll oder nicht, vor dem Schritt zur Bereinigung (clean).

Führen Sie die Bereinigung (clean) vor dem Erstellen (build) durch, um dies zu verhindern:


> msbuild /t:clean project.cbproj

> msbuild /t:build project.cbproj

Linux

Falsche PAServer-Fehlermeldung unter Ubuntu Server 16.04 LTS

Wenn Sie im Dialogfeld "Start|Parameter" Starter-Anwendung verwenden aktivieren, wird als Starter-Anwendung für Linux-Ziele standardmäßig Xterm verwendet. Wird PAServer unter Ubuntu Server 16.04 LS ausgeführt, wird eine Fehlermeldung mit dem Inhalt ausgegeben, dass eine Datei nicht erstellt werden kann. Die Fehlermeldung ist irreführend, da Xterm nicht wie erwartet unter Ubuntu Server 16.04 LTS aufgerufen werden kann. Xterm kann separat installiert werden und ist Teil der Client-Distributionen von Ubuntu.

FireMonkey

Vor dem Erstellen einer neuen Ansicht im Formular-Designer müssen allen Komponenten Namen zugewiesen werden

Wenn Sie eine ältere FireMonkey-App in 10.4 Sydney öffnen, wird möglicherweise die folgende Fehlermeldung angezeigt:

 Cannot inherit from form 'FormName".  It contains a component with a blank name property.

Das System zur Vererbung von Ansichten erfordert, dass Sie allen Komponenten vor dem Erstellen einer neuen Ansicht im Formular-Designer einen Namen zuweisen.

macOS 64 Bit

Untersuchen/Auswerten von Strukturen unter macOS 64 Bit

Für Strukturen, die an eine Methode unter macOS64 als Parameter anhand des Wertes übergeben werden, könnten falsche Werte im Debugger angezeigt werden.

Erweitern geänderter, untersuchter Werte unter macOS 64 Bit

Eine Variable, die beim Untersuchen erweitert werden kann, um die Werte der darin enthaltenen Felder anzuzeigen, zeigt keine aktualisierten Unterwerte in der Debugger-UI an, nachdem sich der Wert der Variable geändert hat.

Auswertung unter macOS 64 Bit berücksichtigt die Groß-/Kleinschreibung

Aus technischen Gründen berücksichtigt die Auswertung unter macOS 64 Bit die Groß-/Kleinschreibung (z. B. Ausdrücke im Dialogfeld "Auswerten/Ändern"). Das gilt auch für iOS 64 Bit. Möglicherweise benötigen Sie in bestimmten Situationen C++-Syntax, z. B. die Verwendung eines 0x-Präfixes für hexadezimale Werte anstatt $.

FireDAC

Verwenden von Laufzeit-Packages mit dem FireDAC-DataSnap-Treiber für C++

Wenn Sie in 64-Bit-C++-Anwendungen, die mit Laufzeit-Packages erstellt wurden, den FireDAC-DataSnap-Treiber verwenden, könnte zur Laufzeit ein Fehler auftreten. Fügen Sie den Laufzeit-Packages DataSnapClient mit den folgenden Schritten hinzu, um den Fehler zu vermeiden:

  1. Projekt > Optionen > Packages > Laufzeit-Packages.
  2. Fügen Sie im Feld Laufzeit-Package-Importbibliotheken der Liste DataSnapClient hinzu.

Diese Einstellung behebt das Problem und fügt der Link-Zeile DataSnapClient.bpi anstelle von DataSnapClient.a hinzu.

C++-Anwendung für 64-Bit-Windows mit einer FireDAC-Komponente kann einen Fehler auslösen

Der folgende Fehler wird beim Versuch ausgelöst, eine Anwendung mit einer einzelnen FireDAC-Komponente auf einer Windows x64-Plattform mit statischem Linken zu compilieren:

c:\program files (x86)\embarcadero\studio\<n.n>\Bin\CodeGear.Cpp.Targets : warning : Warning: Out of memory
c:\program files (x86)\embarcadero\studio\<n.n>\Bin\CodeGear.Cpp.Targets(2751,5): error MSB6006: "ilink32" exited with code 2.

Linken Sie zur Umgehung dieses Problems FireDAC nicht statisch in Win64-C++-Apps.

Datenbank

Erneutes Füllen von Datenmengen

Das erneute Füllen einer gebundenen TClientDataSet oder TFDMemTable kann langsamer sein als das erstmalige Füllen. Um dieses Problem zu umgehen, haben wir TBindSourceDB die neue Methode EmptyDataLink hinzugefügt.

Android

Probleme beim JDK-Pfad

Wegen eines Fehlers (EN) des Java Development Kit (JDK) dürfen im Bereitstellungspfad eines Projekts für die Android-Plattform nur ASCII-Zeichen enthalten sein.

Patchen der Datei string.h für Android

Bei der Verwendung von C++ Builder zum Erstellen einer FMX-Anwendung für Android, insbesondere, wenn Sie das Offline-Installationsprogramm verwenden. Befolgen Sie diese Schritte, um die Datei string.h manuell zu patchen:

  1. Doppelklicken Sie auf die Fehlermeldung.
  2. In der IDE wird die Datei string.h geöffnet.
  3. Suchen Sie die Zeile mit dem folgenden Kommentar:
    /* Const-correct overloads. Placed after FORTIFY so we call those functions, if possible. */
    
  4. Ändern Sie die Zeile nach dem obigen Kommentar wie unten gezeigt:
    Vorher
    #if defined(__cplusplus) && defined(__clang__)
    Nachher
    #if defined(__cplusplus) && defined(__clang__) && ((__clang_major__ > 3) || (__clang_minor__ > 4))

Sehen Sie sich das folgende Beispiel an, das zeigt, wie sich Ihr Code beim Generieren einer .diff-Datei ändern sollte:

--- string.h.orig
+++ string.h.modified
@@ -188,7 +188,7 @@
 #endif
 
 /* Const-correct overloads. Placed after FORTIFY so we call those functions, if possible. */
-#if defined(__cplusplus) && defined(__clang__)
+#if defined(__cplusplus) && defined(__clang__) && ((__clang_major__ > 3) || (__clang_minor__ > 4))
 /*
  * Use two enable_ifs so these overloads don't conflict with + are preferred over libcxx's. This can
  * be reduced to 1 after libcxx recognizes that we have const-correct overloads.

Aktualisierungen der Android-Manifestdatei in 10.4

Für neue FireMonkey-Projekte, die in einem neuen Verzeichnis erstellt werden, ist der folgende Schritt für die Verwendung der integrierten IDE-Unterstützung für die Android-Plattform nicht erforderlich. Bei einem vorhandenen FMX-Projekt für die Android-Plattform aus einer früheren RAD Studio-Version müssen Sie die Datei AndroidManifest.template.xml aus Ihrem Projektverzeichnis löschen. Diese Datei wird dann automatisch in 10.4 erstellt.

iOS

Arbeiten mit dem iOS-Storyboard

Für in einem neuen Verzeichnis erstellte neue FireMonkey-Projekte sind keine zusätzlichen Schritte für die Verwendung der integrierten IDE-Unterstützung für das Storyboard erforderlich.

Bei einem vorhandenen FMX-Projekt für die iOS-Plattform aus einer früheren RAD Studio-Version müssen Sie die Datei info.plist.TemplateiOS.xml aus Ihrem Projektverzeichnis löschen.

Es gibt in 10.4 zwei Möglichkeiten, die Unterstützung für den Startbildschirm des Storyboards für iOS anzupassen, die davon abhängen, ob Sie ein eigenes compiliertes Storyboard verwenden oder mit einem neuen unter Verwendung der vorgesehenen Funktionen in 10.4 beginnen.

Option 1: Der Benutzer verwendet sein eigenes compiliertes Storyboard und den Asset-Katalog (*.storyboardc und Assets.car). Befolgen Sie die folgenden Schritt, um diese mit 10.4 zu verwenden:

  • Deaktivieren Sie die Bereitstellung von *.launchscreen unter "Projekt | Bereitstellung".
  • Wenn der Name des Storyboards nicht LaunchScreen.storyboard lautet, müssen Sie in der Datei info.plist.TemplateiOS.xml den Eintrag "<%StoryboardInfoPListKey%>" durch den Eintrag "UILaunchStoryboardName Schlüssel/Wert" ersetzen.
  • Öffnen Sie "Projekt | Bereitstellung" und fügen Sie die compilierten Storyboard- und Asset-Katalogdateien hinzu.

Option 2: Der Benutzer ändert das Standard-Storyboard und den Asset-Katalog, die von der IDE bereitgestellt werden. Befolgen Sie die folgenden Schritte, wenn Sie diese Option verwenden:

  • Bearbeiten Sie die LaunchScreen.storyboard- und Assets-Dateien in LaunchScreen.TemplateiOS nach Bedarf.
  • Öffnen Sie "Projekt | Bereitstellung" und fügen Sie gegebenenfalls die zusätzlichen Bilder für den Startbildschirm hinzu, die bereitgestellt werden sollen.

Die Templates info.plist.TemplateiOS.xml und LaunchScreen.TemplateiOS befinden sich in den folgenden Verzeichnissen:

a. <bds>\ObjRepos\<locale>\iOS
b. %APPDATA%\Embarcadero\BDS\21.0
c. the location where the project is located.

Die IDE sucht nach diesen Templates in der folgenden Reihenfolge: Projektverzeichnis, %APPDATA%-Verzeichnis und ObjRepos-Verzeichnis.

C++-Toolkette

Angeben der abhängigen und erforderlichen Packages beim Verwenden einer Komponente in einem C++-Package

Bei der Verwendung einer vorhandenen Komponente in einem C++-Package fügt die IDE nicht automatisch das abhängige (erforderliche) Package für die Komponente hinzu. Sie müssen diesen Schritt manuell ausführen.

Ohne die relevanten abhängigen (erforderlichen) Packages könnte das Linken des C++-Package fehlschlagen, weil der Linker die OBJ-Dateien, die bei Verwendung dieser Komponente initialisiert werden müssen, nicht finden kann. Sie müssen das Package der Komponente und die abhängigen Packages dem Knoten Erfordert Ihres C++-Package (im Projektfenster) hinzufügen, um derartige Linker-Fehler zu vermeiden.

Das folgende Beispiel zeigt, wie die erforderlichen Packages für eine Komponente ermittelt und die Linker-Fehler xxx.obj kann nicht geöffnet werden durch Erstellen einer Dummy-VCL-Formularanwendung, in der die Komponente verwendet wird, vermieden werden.

Standardmäßig wird eine neue in C++ geschriebene geräteübergreifende Anwendung mit den RTL- und FMX-Packages gelinkt, entsprechend den in der Link-Zeile aufgelisteten *.BPI-Dateien (die in Ansicht > Meldungen angezeigt werden):

Ilink32-Befehlszeile:

c:\BDSLoc\bin\ilink32.exe ... -aa -V5.0 -Tpe  c0wfmx32w rtl.bpi fmx.bpi memmgr.lib sysinit.obj .\Win32\Debug\Project30.obj .\Win32\Debug\Unit26.obj , .\Win32\Debug\Project30.exe , .\Win32\Debug\Project30.map , import32.lib cp32mti.lib , , Project30.res

Wenn Sie neue Komponenten hinzufügen, ermittelt die IDE abhängige Packages und passt die Link-Zeile an. Um dies an einem Beispiel zu sehen, fügen Sie die Komponente, die Sie in einem C++-Package verwenden möchten, dem geräteübergreifenden Formular hinzu. In diesem Beispiel wird die Komponente TFDSchemaAdapter verwendet. Erzeugen Sie nun die Anwendung neu. Der Link-Zeile wurden mehrere neue BPI-Dateien hinzugefügt:

Ilink32-Befehlszeile:

c:\BDSLoc\bin\ilink32.exe ... -aa -V5.0 -Tpe  c0w32w rtl.bpi fmx.bpi FireDACCommonDriver.bpi FireDACCommon.bpi xmlrtl.bpi dbrtl.bpi FireDAC.bpi FireDACSqliteDriver.bpi memmgr.lib sysinit.obj .\Win32\Debug\Project30.obj .\Win32\Debug\Unit26.obj , .\Win32\Debug\Project30.exe , .\Win32\Debug\Project30.map , import32.lib cp32mti.lib , , Project30.res

Diese neuen BPI-Dateien sind Packages, von denen Ihre Komponente abhängig ist. Für TFDSchemaAdapter sind dies die folgenden BPI-Dateien:

FireDACCommonDriver.bpi FireDACCommon.bpi xmlrtl.bpi dbrtl.bpi FireDAC.bpi FireDACSqliteDriver.bpi

Um die TFDSchemaAdapter-Komponente in einem C++-Package verwenden zu können, müssen Sie daher alle diese BPI-Dateien in der IDE als erforderliche Referenzen hinzufügen (siehe Packages (Delphi)).

Herunterladen von DirectX-Header-Dateien

DirectX-Header werden nur im Microsoft Windows Platform SDK ausgeliefert. Wenn Sie Fehler wie "d3d.h-Datei nicht gefunden" erhalten, enthält die für diese Delphi-Unit erzeugte HPP #include <D3D*.hpp>. Führen Sie einen der folgenden Schritte aus:

  • Fügen Sie der Unit, die diese D3D-Unit verwendet, eine {$NOINCLUDE Winapi.D3DX9}-Direktive hinzu, und erzeugen Sie die HPP-Datei für diese Unit neu. Die neu generierte HPP enthält #include <Winapi.D3DX9.hpp> nicht.
  • Laden Sie das DirectX SDK, auf dem der D3D-Header basiert, herunter. Sie können das DirectX SDK kostenlos von Microsoft herunterladen. Weitere Informationen finden Sie unter Where is the DirectX SDK? (Windows) (EN).

IDE

Umbenannte iOS-Projekte könnten zur Laufzeit oder beim Debuggen fehlschlagen

Durch das Umbenennen eines Projekts in der IDE könnte eine iOS-App zur Laufzeit oder beim Debuggen fehlschlagen. Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:

  1. Wählen Sie Projekt > Bereitstellung.
  2. Klicken Sie im Bereitstellungs-Manager auf die Schaltfläche Auf Standard zurücksetzen.

Vererbungseinstellung für Versionsinformationen

Ändern Sie die Schlüsselwerte für das Ziel Alle Plattformen nicht, um Versionsinformationen in ein Windows-Projekt einzubeziehen, sondern ändern Sie die Werte für beide Plattformen (32 Bit und 64 Bit) einzeln. Die Ziele erben die Werte nicht korrekt vom Ziel Alle Plattformen.

InterBase

InterBase 2020 Edition in RAD Studio 10.4 Sydney

Dieser Hinweis betrifft Benutzer, die sowohl eine frühere Version von RAD Studio als auch RAD Studio 10.3 Rio auf demselben Computer installiert haben. In diesem Hinweis bezieht sich RAD Studio auch auf die Delphi- und C++Builder-Editionen.

Jede Version von RAD Studio enthält eine Lizenz für eine Version von InterBase:

Produkt InterBase-Version
RAD Studio XE3 InterBase XE3 Developer Edition
RAD Studio XE4 InterBase XE3 Developer Edition
RAD Studio XE5 InterBase XE3 Developer Edition
RAD Studio XE6 InterBase XE3 Developer Edition
RAD Studio XE7 InterBase XE3 Developer Edition
RAD Studio XE8 InterBase XE7
RAD Studio XE9 InterBase XE7
RAD Studio Berlin InterBase XE7
RAD Studio Tokyo InterBase XE7
RAD Studio Rio InterBase 2017
RAD Studio Sydney InterBase 2020

Da alle diese RAD Studio-Lizenzsuiten systemweit sichtbar sind, kann nur jeweils eine Lizenz von InterBase verwendet werden.

Wenn Sie beispielsweise die mit RAD Studio XE6 ausgelieferte "InterBase XE3 Developer Edition" ausführen, können Sie gleichzeitig keine Instanz der mit RAD Studio XE7 ausgelieferten "InterBase XE3 Developer Edition" starten. Sie können auch keine Instanz der "InterBase 2020 Edition" starten, die mit RAD Studio 10.4 Sydney ausgeliefert wird. Wenn Sie dies versuchen, wird ein Fehler-Dialogfeld mit der Meldung "InterBase-Lizenzfehler" angezeigt und die InterBase-Protokolldatei enthält den Eintrag "Registration file error: License is in use by another instance of InterBase" (Registrierungsdateifehler: Die Lizenz wird von einer anderen Instanz von InterBase verwendet).

Weitere Informationen zum Ausführen mehrerer Instanzen von InterBase finden Sie im Abschnitt Multiple Instances (EN) im Dokument Operation Guide (EN).

Workaround für InterBase-Lizenzfehler

  1. Halten Sie alle Instanzen von InterBase an. Wenn Sie diese Instanz als Windows-Dienst eingerichtet haben, müssen Sie sie auch in der Systemsteuerung im Dienste-Bereich deaktivieren.
  2. Starten Sie die Instanz von InterBase, die Sie verwenden möchten. Jetzt sollte diese Instanz mit der korrekten Lizenz erfolgreich starten.

Die oben erwähnten Versionen von RAD Studio und die Anwendungen, die damit erzeugt wurden, funktionieren auch mit der aktualisierten InterBase 2020-Edition, die mit RAD Studio 10.4 Sydney installiert wird. Verbinden Sie die älteren IDE-Tools und -Anwendungen über TCP-Loopback mit dieser InterBase-Instanz. Zum Beispiel:

localhost/gds_db:<dbpath>

In älteren Versionen der RAD Studio-IDE können Sie auch Tools > Optionen > Umgebungsoptionen > Umgebungsvariablen wählen und die folgenden neuen Einträge in "Von Anwender überschrieben" einfügen, um lokale Client-Verbindungen herzustellen.

Variable Wert
IB_Protocol gds_db
InterBase C:\Program Files (x86)\Embarcadero\Studio\21.0\InterBase2020

Seit längerem bekannte Probleme

HP Computer enthalten die Umgebungsvariable PLATFORM, die beim Compilieren den folgenden Fehler verursacht, wenn sie auf einen anderen Wert als "Win32", "Win64" oder "OSX32" festgelegt ist:

Ungültige PLATFORM-Variable "(Wert)". PLATFORM muss einer der folgenden Werte sein: "Win32", "Win64", "Android32Arm", "iOSSimulator32", "iOSDevice32" "iOSDevice64" oder "OSX32" oder "OSX64" oder "Linux64".

Führen Sie die folgenden Schritte aus, um die Umgebungsvariable PLATFORM aus Ihrem System zu entfernen:

  1. Klicken Sie auf dem Desktop mit der rechten Maustaste auf Arbeitsplatz.
  2. Wählen Sie Eigenschaften aus.
  3. Wählen Sie abhängig von Ihrem Betriebssystem entweder die Registerkarte Erweitert oder Erweiterte Systemeinstellungen aus.
  4. Klicken Sie auf die Schaltfläche Umgebungsvariablen.
  5. Suchen Sie die Umgebungsvariable "Platform" und klicken Sie auf die Schaltfläche Löschen.

Allgemeine Probleme

Problem Lösung

Hexadezimalen Werten wird das Präfix 0x, nicht das erwartete $ vorangestellt

Keine

In Ausdrücken wird die Groß-/Kleinschreibung berücksichtigt

Sie müssen die Schreibweise verwenden, die im Code verwendet wurde.

Die Verwendung eines Suffixes zur Formatierung eines ausgewerteten Ausdrucks funktioniert nicht

Keine

Strings erhalten doppelte, keine einfachen Anführungszeichen

Keine

Externe Software

Probleme können bei Anwendungen auftreten, die in einer Umgebung mit einem Programm zur Tastaturumschaltung, wie z. B. Yandex Punto Switcher, gedebuggt wurden. Wenn die Anwendung von Windows geschlossen wird und eine Zugriffsverletzung von der Anwendung ausgelöst wird, ignorieren Sie diesen Zugriffsverletzungsfehler bitte.

Übersetzungstools

Ab RAD Studio 10.3 Sydney gelten die im Produkt verfügbaren Übersetzungstools offiziell als veraltet und werden nicht mehr aktiv unterstützt. Dies betrifft beide Tools, VCL (Integrierter Translation-Manager) und FireMonkey (TLang). Beide Features sind weiterhin in Rio verfügbar, aber es wird empfohlen, Projekte nicht davon abhängig zu machen. RAD Studio arbeitet mit Drittanbietern zusammen, um alternative Optionen anzubieten.

Siehe auch