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\20.0

Beim Upgrade können Fehler bei GetIt-Packages generiert werden. Deinstallieren Sie zur Umgehung dieses Problems vor dem Upgrade die Plugins manuell, entfernen Sie die entsprechenden Einträge in der Registrierung unter dem Abschnitt "CatalogRepository" oder installieren Sie sie erneut über GetIt, falls eine Fehlermeldung beim Starten der IDE angezeigt wird.

Frühere Versionen und Migration

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

Die Lizenz für Ihr 10.3 Rio umfasst Lizenzen für frühere Versionen des Produkts.

  • Delphi 10.3 Rio enthält Lizenzen für Delphi Tokyo, Berlin, Seattle, XE8, XE7, XE6, XE5, XE4, XE3, XE2, XE, 2010, 2009, 2007 und 7.
  • C++Builder10.3 Rio enthält Lizenzen für C++Builder 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.3 Rio 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.

Upgrade von Delphi 7

Wenn Sie ein Upgrade eines in Delphi 7 oder einem anderen frühen Release erstellten Projekts ausführen und das Projekt über eine benutzerdefinierte Dateierweiterung verfügt, müssen Sie Projekt > Optionen > Anwendung wählen, und die Erweiterung der Zieldatei auf den mit Ihrem Projekt übereinstimmenden Typ setzen (.exe, .dll oder .bpl).

Probleme des GetIt-Installationsprogramms auf Einzelkern-VMs unter Win 7

Sollte bei der Installation von Delphi, C++Builder oder RAD Studio 10.3 auf einer virtuellen Maschine mit einem einzelnen Kern unter Windows 7 bei der webbasierten GetIt-Installation ein Ausführungsfehler auftreten, erhöhen Sie auf mehrere Kerne und starten Sie die Installation erneut. Wenn Ihre Firewall .7z-Dateien blockiert, schlägt die GetIt-Installation fehl.

ISO-Installationsprogramm

Bei der Installation mit dem ISO-Installationsprogramm könnte folgendes Problem auftreten:

  • Bei der Installation mit dem ISO-Installationsprogramm werden der Windows Defender Firewall keine Eingangsregeln hinzugefügt. Dies führt dazu, dass ein Windows-Sicherheitshinweis angezeigt wird und Benutzer aufgefordert werden, dem Zugriff auf private oder öffentliche Netzwerke zuzustimmen.

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

Bekannte Probleme der IDE in Windows 8

Es gibt ein bekanntes Problem, wenn die RAD Studio-IDE unter Windows 8 ausgeführt wird. Beim Beenden von RAD Studio kann eine Zugriffsverletzung angezeigt werden.

Linux

Vorausgesetzte Apache-Version

Delphi für Linux unterstützt Apache 2.4. Version 2.2 wird nicht unterstützt.

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.3 Rio ö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.

iOS-Apps werden nach der Ausführung ohne Debugger auf dem Gerät möglicherweise nicht korrekt geschlossen/erneut geöffnet

Wenn Sie Ihre iOS-App auf dem Gerät ohne Debugger ausführen und dann den Anwendungsprozess abbrechen, müssen Sie den PAServer-Befehl "reset" ausführen, wenn Sie den Prozess außerhalb der IDE ausführen möchten; geben Sie an der Eingabeaufforderung von PAServer "r" ein.

Debuggen auf einem iPhone XS

Das Debuggen einer Anwendung auf einem iPhone XS wird derzeit nicht unterstützt. Anwendungen können aber auf diesen Geräten bereitgestellt und ausgeführt werden.

macOS Mojave-Entwicklung

Das Starten einer Anwendung mit Debug-Funktionen wird unter Mojave derzeit nicht unterstützt. Sie können dieses Problem umgehen, indem Sie die Anwendung nach dem Start mit einem ausgeführten Prozess verbinden.

Führen Sie dazu die folgenden Schritte aus:

  1. Wählen Sie Start > Ohne Debugger ausführen aus oder klicken Sie in der Symbolleiste auf die Schaltfläche Ohne Debugger ausführen. Auf diese Weise wird die Anwendung gestartet.
  2. Wählen Sie Start > Mit Prozess verbinden… aus.
  3. Führen Sie im Dialogfeld Mit Prozess verbinden Folgendes aus:
  • Wählen Sie auf der linken Seite Remote aus.
  • Wählen Sie im Kombinationsfeld "Debugger" Embarcadero macOS 32-Bit-Debugger aus.
  • Klicken Sie neben dem Feld Remote-Host auf die Schaltfläche "...", und wählen Sie das Verbindungsprofil für die macOS-32-Bit-Plattform aus.
  • Wählen Sie aus der Liste der ausgeführten Prozesse die Anwendung aus, die Sie debuggen möchten.

Das macOS 10.14-SDK unterstützt 32-Bit-Anwendungen nicht mehr. Sie können mit dem 10.14-SDK mit Delphi weiterhin Projekte erzeugen, weil Delphi Symbole ohne Unterstützung des SDK auflöst. Allerdings können Sie dies nicht mit C++Builder durchführen. Für C++Builder-Anwendungen müssen Sie das 10.13-SDK verwenden.

Wenn Sie 32-Bit-Anwendungen für macOS mit dem macOS 10.13-SDK auf einem Mac mit Mojave entwickeln möchten, müssen Sie XCode 9.x installieren. Es wird empfohlen sowohl Xcode 9 als auch Xcode 10 zu installieren. Mit xcode-select können Sie zwischen den beiden Versionen umschalten:

sudo xcode-select -s <xcode 9.x app>/Contents/Developer/
Hinweis: Dies ist nur ein Problem, wenn Sie Delphi- oder C++Builder-Anwendungen für 32-Bit-macOS debuggen, nicht beim Debuggen von Delphi-Anwendungen für 64-Bit-macOS mit 10.3.2.

macOS 64 Bit

TMediaPlayer und macOS App Store

macOS 64 Bit unterstützt die Verwendung von TMediaPlayer in FireMonkey-macOS-Anwendungen. Die Übertragung von Anwendungen an den macOS App Store mit der Komponente TMediaPlayer führt jedoch zu einem Fehler während der Übertragung, da die Komponente auf einer veralteten API basiert, die im macOS App Store nicht mehr unterstützt wird.

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 (z. B. Ausdrücke im Dialogfeld "Auswerten/Ändern") die Groß-/Kleinschreibung. 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 $.

Lizenzaktualisierung für macOS 64 Bit

Bei der Installation der macOS-64-Bit-Plattform für 10.3.2 Delphi oder 10.3.2 RAD Studio (für die Delphi Personality) auf einem System mit einem vorhandenen Delphi- oder RAD Studio-Lizenzschlüssel müssen Sie je nach Ihrem Lizenztyp die folgenden Schritte befolgen.

Arbeitsplatzlizenz:

  1. Wählen Sie in der RAD Studio-IDE Hilfe > Lizenzmanager... aus.
  2. Wählen Sie im Bereich Lizenzaktionen Registrieren... aus.
  3. Geben Sie die vorhandene Seriennummer, den Benutzernamen und das Passwort ein und klicken Sie auf die Schaltfläche Registrieren.
  4. Wenn Sie dies ausgeführt haben, schließen Sie den Lizenzmanager und starten die IDE neu. Nun sollte die macOS-64-Bit-Plattform wie erwartet funktionieren.

Netzwerklizenz:

  1. Bitten Sie Ihren Administrator des Lizenzservers (ELC), das vorhandene Lizenzzertifikat erneut zu hosten und die Client-Lizenz zu verteilen.
  2. Wählen Sie im RAD Studio/Delphi-Menü Hilfe Lizenzmanager... aus.
  3. Wählen Sie im Bereich Lizenzaktionen Importieren... aus.
  4. Navigieren Sie zu der neuen Client-Lizenz und klicken Sie auf die Schaltfläche Importieren.
  5. Starten Sie RAD Studio/Delphi neu. Nun sollte die macOS-64-Bit-Plattform wie erwartet funktionieren.


Wenn Sie ein bestehendes Delphi 10.3 FireMonkey-Projekt mit der Version 10.3.2 öffnen, bevor Sie die Lizenz aktualisiert haben, müssen Sie die .dproj-Datei des Projekts manuell in einem Texteditor bearbeiten, um Unterstützung für macOS 64 Bit hinzuzufügen. Auf diese Weise wird die IDE veranlasst, das Projekt automatisch für die Unterstützung von 64-Bit-macOS-Projekten zu aktualisieren.

  1. Schließen Sie zuerst die RAD Studio 10.3.2-IDE.
  2. Suchen Sie mit dem MS Windows-Explorer in Ihrem Projektordner die .dproj-Datei.
  3. Klicken Sie dann mit der rechten Maustaste im Explorer auf den Dateinamen und wählen Sie Kopieren aus, um eine Sicherungskopie der .dproj-Datei zu speichern.
  4. Klicken Sie erneut mit der rechten Maustaste und wählen Sie Einfügen aus, um die Sicherungskopie der .dproj-Datei zu erstellen.
  5. Klicken Sie dann im Explorer mit der rechten Maustaste auf den Dateinamen und wählen Sie Öffnen mit... aus. Wählen Sie im angezeigten Dialogfeld Editor aus.
  6. Suchen Sie im Editor die Zeile mit dem Eintrag <ProjectVersion>18.7</ProjectVersion>. Diese Zeile ist die vierte Zeile von oben.
  7. Ändern Sie die Zeile in <ProjectVersion>18.6</ProjectVersion>.
  8. Speichern Sie jetzt die .dproj-Datei im Editor und überschreiben Sie dabei die Originaldatei.
  9. Starten Sie die RAD Studio-IDE erneut und öffnen Sie das Projekt. macOS 64 Bit sollte nun unter "Zielplattformen" für Ihr Projekt verfügbar sein.

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.

DBX Enterprise im Datenbank-Explorer deaktiviert

Aufgrund eines Problems ist das Laden von DBExpress Enterprise-Datenbanktreibern im Datenbank-Explorer standardmäßig deaktiviert. Im Datenbank-Explorer in der Professional Edition werden aktuell alle vorhandenen FireDAC-Treiber und die DBExpress-Treiber aufgeführt. In einer der nächsten Versionen wird dies behoben.

Die DBExpress-Komponenten sind nach wie vor in der IDE vorhanden und Anwendungen, die DBExpress verwenden, arbeiten wie erwartet, da das Problem nur im Fenster des Datenbank-Explorers auftritt.

Hinweis: Ab der Version 10.3.1 nicht mehr anwendbar.

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.

Installationsschritte für Android SDK/NDK

Die Android SDK/NDK-Installation ist nicht vollständig, wenn Sie das ISO-Installationsprogramm verwenden. Sie können entweder SDK Manager.exe öffnen und überprüfen, ob die richtigen Download-Optionen ausgewählt sind, oder (zuverlässiger) über die Befehlszeile eine Installation im Hintergrund durchführen:

  • Öffnen Sie die Eingabeaufforderung und navigieren Sie zu:
C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidSDK-2525_20.0.32429.4364\tools
  • Geben Sie den folgenden Befehl ein:
android.bat update sdk --no-ui --all --filter platform-tools,build-tools-28.0.2,android-26

Um zu überprüfen, ob diese Schritte erfolgreich waren, öffnen Sie in RAD Studio den SDK-Manager (Tools > Optionen > Bereitstellung > SDK-Manager), wählen aus dem Listenfeld SDK-Versionen die Option Android SDK 25.2.5 32 Bit aus und klicken auf der Seite Eigenschaften auf die Registerkarte SDK. Die SDK-Links sollten korrekt sein. Falls die Dateien, auf die verwiesen wird, weiterhin nicht vorhanden sind, wird neben den SDK-Links ein Ausrufezeichen angezeigt.

Zusätzliche Android SDK-Konfigurationsschritte für C++Builder

Beim automatisch konfigurierten SDK fehlt eine Einstellung zum Verhindern eines Fehlers in der string.h-Header-Datei. Öffnen Sie die RAD Studio-IDE und führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:

  1. Wählen Sie Datei > Alle schließen
  2. Wählen Sie Tools > Optionen > Bereitstellung > SDK-Manager.
  3. Wählen Sie im Listenfeld SDK-Versionen die Option Android SDK 25.2.5 32 Bit aus und klicken Sie auf Löschen.
  4. Klicken Sie im gleichen Fenster auf Hinzufügen...
  5. Wählen Sie im Dialogfeld Neues SDK hinzufügen in der Dropdown-Liste Plattform auswählen die Option Android und in der Dropdown-Liste SDK-Version auswählen die Option Neue hinzufügen... aus. Daraufhin wird das Dialogfeld Neues Android SDK erstellen geöffnet.
  6. Suchen Sie je nach Ihrer Installation in den folgenden Stammverzeichnissen den Android SDK-Basispfad und den Android NDK-Basispfad:
  • Web/GetIt-Installation: c:\Benutzer\Öffentlich\Öffentliche Dokumente\Embarcadero\Studio\20.0\CatalogRepository
  • Lokale/ISO-Installation: c:\Benutzer\Öffentlich\Öffentliche Dokumente\Embarcadero\Studio\20.0\PlatformSDKs

Patchen der Datei string.h für Android

Wenn Sie mit C++Builder eine FMX-Anwendung für Android erstellen, könnten beim Erstellen eines SDK für Android im Header Probleme auftreten. 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.

Debuggen von Android 64 Bit

Bei dem Versuch, eine Anwendung für 64-Bit-Android auf einem Gerät mit 32-Bit-Android (oder einem 64-Bit-Gerät mit einer 32-Bit-Version des Android-Betriebssystems) aufzurufen, wird anstelle einer Fehlermeldung bezüglich der Inkompatibilität die folgende Fehlermeldung angezeigt: LLDB-Kernel kann nicht gestartet werden: ‘./lldb-Server[17]: Syntaxfehler: nicht erwartete ‘)’

C++-Toolkette

Auflösen mehrerer Deklarationen für DWORD oder ULONG in macOS-Anwendungen

In einer für die macOS-Zielplattform compilierten geräteübergreifenden Anwendung kann der Fehler E2238 auftreten, weil die macOS-Header iodbcunix.h und sqltypes.h typedef-Anweisungen für DWORD und ULONG deklarieren und in der von System.hpp einbezogenen C++Builder-Datei sysmac.h auch typedef-Anweisungen dafür vorhanden sind. Unter E2238 finden Sie einen Workaround.

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).

C++-Programmierhilfe

Die Programmierhilfe für die Clang-basierten Compiler wurde in 10.3.2 erheblich überarbeitet, aber es gibt einige bekannte Fälle, bei denen sie fehlschlagen kann. Der häufigste bezieht sich darauf, dass das Prinzip "Das einschließen, was Sie verwenden" nicht implementiert ist: das heißt, eine CPP-Datei oder ihr Header (oder andere in Dateien enthaltenen Header) enthält nicht alle für den Build erforderlichen Includes. Häufig aufgrund eines nicht eingefügten vorcompilierten Headers, der die erforderlichen Dateien nicht einbezieht. Der Sprachserver betrachtet jede CPP-Datei als eine eigenständige Datei und verarbeitete sie ohne den vorcompilierten Header. Überprüfen Sie in diesem Fall Error Insight (Fehlermarkierung) und beheben Sie alle angezeigten Fehler.

Die Optionen "Tooltip Insight" (Kurzhinweise) und "Zu Definition wechseln", die die Indizierung verwenden, sind nicht betroffen.

IDE

Im geräteübergreifenden Formular-Designer können Komponenten nur aus der Master-Ansicht gelöscht werden

Wenn Sie versuchen, eine Komponente, wie z. B. TButton, aus einer anderen Ansicht (nicht der Master-Ansicht) zu löschen, wird die folgende Fehlermeldung angezeigt:

 Selection contains a component, Button1, introduced in an ancestor and cannot be deleted

Die Lösung besteht darin, die Komponente aus der Master-Ansicht zu löschen. Weitere Informationen zu Ansichten finden Sie unter Formular-Designer.

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 2017 Edition in RAD Studio 10.3 Rio

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.

Hinweis: Die InterBase 2020-Edition ist in RAD Studio 10.3.3 verfügbar.

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

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.3 Rio ausgeliefert wird. Wenn Sie dies versuchen, wird ein Fehler-Dialogfeld mit der Meldung "InterBase-Lizenzfehler" angezeigt, und das InterBase-Protokoll 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.3 Rio 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\20.0\InterBase2020

Zum Erzeugen von IBLite-Anwendungen für Android muss der NDK-Pfad aktualisiert werden

Um IBLite- und IBToGo-Anwendungen für Android zu erstellen, muss der Speicherort der NDK-API in Version 26 geändert werden (Version 19 und höher kann auch funktionieren). Wählen Sie dazu Tools > Optionen > Bereitstellung > SDK-Manager und aus dem Listenfeld SDK-Versionen die Option Android SDK 25.2.5 32 Bit aus. Klicken Sie dann auf der Seite Eigenschaften auf die Registerkarte NDK und ändern Sie die folgenden Pfade:

NDK-API-Speicherort:

C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\platforms\android-19

Bibliothekspfad für C++Builder-NDK:

C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\platforms\android-19\arch-arm\usr\lib

Bibliothekspfade für Delphi-NDK:

C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\platforms\android-19\arch-arm\usr\lib
C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi-v7a
Hinweis: Ab der Version 10.3.1 nicht mehr anwendbar.

Personenungebundene Lizenz (ELC)

Wenn Sie eine vom ELC-Lizenzierungsserver verwaltete Lizenz verwenden und die InterBase Developer-Edition im Administrator-Modus (z. B. als Dienst) ausführen, wird eine Lizenz "verbraucht", anstatt dieselbe Lizenz zu verwenden, die RAD Studio auf dem Computer verwendet. Es wird empfohlen, InterBase nicht als Administrator auszuführen.

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.

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

In 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.

Siehe auch