Release-Hinweise
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
- 1 Installation, Deinstallation und Upgrade von RAD Studio
- 2 Frühere Versionen und Migration
- 3 Windows
- 4 Linux
- 5 FireMonkey
- 6 macOS 64 Bit
- 7 FireDAC
- 8 RTL
- 9 Datenbank
- 10 Android
- 10.1 Probleme beim JDK-Pfad
- 10.2 Patchen der Datei string.h für Android
- 10.3 Aktualisierungen der Android-Manifestdatei in 12.x
- 10.4 Unterstützung für Android API 30
- 10.5 Ändern des Ausdruckswerts einer Variablen
- 10.6 Für C++-FMX-Header- und Footer-Projekte sind unter Android Systembibliotheken erforderlich
- 11 iOS
- 12 C++-Toolkette
- 13 C++
- 14 IDE
- 15 InterBase
- 16 Seit längerem bekannte Probleme
- 17 Externe Software
- 18 Übersetzungstools
- 19 Siehe auch
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
Mit dem folgenden Befehl können Sie manuell in den "Offline-Modus" wechseln: GetItCmd.exe -c=useoffline
Dokumentation in der IDE aktualisieren
Sie können die Dokumentation in der IDE aktualisieren, indem Sie die CHM-Datei von dieser Seite herunterladen.
- Suchen Sie die neueste Version und klicken Sie auf "ZIP".
- Speichern Sie die Datei.
- Entpacken Sie die Datei in
$(BDS)\Help\Doc
. - Rufen Sie den Befehl "Ausführen" (Win+R) auf.
- Geben Sie "regedit" ein.
- Suchen Sie
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\22.0\Help\HtmlHelp1Files
. - Ersetzen Sie den Eintrag für IDE Topics Help durch den Pfad, der die neue CHM-Datei enthält, z. B.
$(BDS)\Help\Doc\Alexandria-CHM-en.chm
Frühere Versionen und Migration
RAD Studio enthält Lizenzen für frühere Versionen
Lizenzen für frühere Produktversionen sind in der Ihrer Lizenz für 12.x Sydney enthalten.
- Delphi 12.x Sydney enthält Lizenzen für Delphi Sydney, Rio, Tokyo, Berlin, Seattle, XE8, XE7, XE6, XE5, XE4, XE3, XE2, XE, 2010, 2009, 2007 und 7.
- C++Builder 12.x Sydney enthält Lizenzen für C++Builder Sydney, 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 12.x 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:
- Projekt > Optionen > Packages > Laufzeit-Packages.
- 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.
RTL
RTL-Upgrades
Die Methode TStringHelper.GetHashCode wandelt den String nicht mehr in Großbuchstaben um.
Ab RAD Studio Sydney wird vom Member GetHashCode vor der Berechnung des Hashcodes keine Version des Strings in Großbuchstaben mehr erstellt. Daher ergeben Strings, die sich nur in der Groß-/Kleinschreibung unterscheiden, unterschiedliche Hashcodes. Ein Beispiel:
if 'Hello'.GetHashCode = 'HELLO'.GetHashCode then
ShowMessage('True')
else
ShowMessage('False');
Ab RAD Studio Sydney wird die Meldung False angezeigt. In früheren Versionen wurde True angezeigt.
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:
- Doppelklicken Sie auf die Fehlermeldung.
- In der IDE wird die Datei
string.h
geöffnet. - Suchen Sie die Zeile mit dem folgenden Kommentar:
/* Const-correct overloads. Placed after FORTIFY so we call those functions, if possible. */
- Ä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))
.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 12.x
Für neue, in einem neuen Verzeichnis erstellte FireMonkey-Projekte ist der folgende Schritt zur 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 12.x erstellt.
Unterstützung für Android API 30
Die neuen Releases enthalten einen anderen Satz von Java-Bibliotheken. Alte Projekte sind daher nicht kompatibel. Wenn Sie ein Android-Projekt-Build in einer älteren Version von RAD Studio öffnen, müssen Sie Folgendes ausführen:
- Navigieren Sie zum andockbaren Fenster "Projekte".
- Wählen Sie "Android 32 Bit" oder "Android 64 Bit" als aktive Zielplattform aus.
- Klicken Sie mit der rechten Maustaste auf den Knoten "Bibliotheken".
- Klicken Sie auf den Menüeintrag "Systemdateien auf Standard zurücksetzen".
Ändern des Ausdruckswerts einer Variablen
Wenn Sie in einem FMX-Delphi-Projekt Android 32 Bit verwenden, arbeitet die Funktion Auswerten/Ändern nicht wie erwartet.
Wenn Benutzer die Variable durch Auswählen eines neuen Werts für den Ausdruck ändern, wird der Wert nicht wie erwartet geändert.
Wenn Sie eine neue C++Builder-FireMonkey-Anwendung, einschließlich von Header- und Footer-Projekten, mit einer der Standard-Templates erstellen und sie für Android compilieren, wird ein Compiler-Fehler angezeigt, weil die Templates auf ältere Versionen der Java-Systembibliotheken verweisen. Wählen Sie zur Behebung dieses Problems in der Projektkonfiguration unter Android den Knoten "Bibliotheken" aus und verwenden Sie den Kontextmenübefehl Systemdateien auf Standard zurücksetzen.
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.
Aufrufen von iOS schlägt mit PAServer 22 fehl
Wenn Sie versuchen, ein Projekt im Debug-Modus zu compilieren und auszuführen, schlägt es mit einer Reihe von Fehlermeldungen auf dem PAServer 22 fehl. Um dies zu beheben:
- Öffnen Sie ein Terminal und geben die folgenden Befehle ein:
cd /Applications/PAServer-22.0.app/Contents/MacOS
env PYTHONHOME=/System/Library/Frameworks/Python.framework/Versions/2.7 ./paserver
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-Windows-VCL-Anwendung, 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).
C++
C++-Codeformatierung
In RAD Studio 12.x Sydney stellen Sie eventuell fest, dass die Formatierung von C++-Code nichts bewirkt. Die Auswahl des Menüeintrags oder das Drücken der Tastenkombination STRG+D hat keine Auswirkung und es wird auch kein Meldungsfeld angezeigt. Und zwar, weil die Formatierungs-DLL die VC++-Laufzeitumgebung nicht laden kann, von der sie abhängig ist.
Um dies zu beheben, müssen Sie "Microsoft Visual C++ 2015, 2017 and 2019 Redistributable (x86)" (EN) installieren.
C++ unterstützt iOS 16 SDK nicht
Um Anwendungen an den App Store zu übermitteln, sollten Benutzer mit dem iOS 15.5 SDK aus Xcode 13.4 linken.
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:
- Wählen Sie Projekt > Bereitstellung.
- 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.
Open Tools API: IOTAIDEThemingServices
Ab RAD Studio 10.4 stammt IOTAIDEThemingServices von IOATAIDEThemingServices250 ab. Diese Änderung in der Vererbungshierarchie kann bedeuten, dass Code in Ihren Plugins, die auf dieses Interface verweisen, möglicherweise bei einem Upgrade auf neuere Versionen von RAD Studio geändert werden müssen.
ActiveX-Steuerelemente schlagen mit ATL 7.1 fehl
Einige mit einer älteren Version von ATL (v7.1 oder früher) erstellte Steuerelemente schlagen fehl, wenn sie in einem für DEP aktivierten Prozess ausgeführt werden. Aus Sicherheitsgründen ist in der IDE (d. h. bds.exe) DEP standardmäßig aktiviert, daher könnten diese Steuerelemente fehlschlagen, wenn sie beim Entwerfen eines Formulars verwendet werden. Ein Workaround, um das Betriebssystem anzuweisen, DEP für einen bestimmten Prozess zu deaktivieren, ist die Ausführung dieses PowerShell-Skripts:
Set-ProcessMitigation -Name C:\Embarcadero\Studio\22.0\bin\bds.exe -Disable DEP Set-ProcessMitigation -Name C:\Embarcadero\Studio\22.0\bin\bds.exe -Disable HighEntropy Set-ProcessMitigation -Name C:\Embarcadero\Studio\22.0\bin\bds.exe -Disable BottomUp
Es wird nicht empfohlen, diese Funktionen dauerhaft zu deaktivieren, sondern nur vorübergehend für die Verwendung eines alten ActiveX-Steuerelements im IDE-Designer.
InterBase
InterBase 2020 Edition in RAD Studio 12.x 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
- 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.
- 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
Umgebungsvariable PLATFORM
HP Computer enthalten die Umgebungsvariable PLATFORM, die beim Compilieren den folgenden Fehler verursacht, wenn sie auf einen anderen Wert als "Win32" oder "Win64" festgelegt ist:
Ungültige PLATFORM-Variable "(Wert)". PLATFORM muss einer der folgenden Werte sein:
- Windows: Win32 oder Win64
- Android: Android32Arm
- iOS: iOSSimulator32 oder iOSDevice64
- Mac: OSX64
- Linux: Linux64
Führen Sie die folgenden Schritte aus, um die Umgebungsvariable PLATFORM aus Ihrem System zu entfernen:
- Klicken Sie auf dem Desktop mit der rechten Maustaste auf Arbeitsplatz.
- Wählen Sie Eigenschaften aus.
- Wählen Sie abhängig von Ihrem Betriebssystem entweder die Registerkarte Erweitert oder Erweiterte Systemeinstellungen aus.
- Klicken Sie auf die Schaltfläche Umgebungsvariablen.
- Suchen Sie die Umgebungsvariable "Platform" und klicken Sie auf die Schaltfläche Löschen.
Umgebungsvariable PROFILE
Die auf Ihrem System festgelegte Umgebungsvariable PROFILE verursacht beim Compilieren eines C++-Projekts den folgenden Fehler:
c:\program files (x86)\embarcadero\studio\19.0\bin\CodeGear.Profiles.Targets(37,5): error : Specified profile not found: 'C:\Users\username\AppData\Roaming\Embarcadero\BDS\19.0\true.profile'
Führen Sie zur Lösung dieses Problems diese Schritte aus:
- Wählen Sie in der IDE Tools > Optionen > Umgebungsoptionen > Umgebungsvariablen aus.
- Wählen Sie in den Variablenoptionen "Vom Benutzer überschriebene Systemvariablen" PROFILE aus, und klicken Sie auf Bearbeiten...
- Setzen Sie den Wert für PROFILE auf einen leeren String ("").
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 Rio 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.