Anzeigen: Delphi C++
Anzeigeeinstellungen

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

Frühere Versionen und Migration

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

Die Lizenz für Ihre 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.

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.

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 auf die Schaltfläche "..." neben dem Feld Remote-Host 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/

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.

C++-Toolkette

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

In einer für die OS X-Zielplattform compilierten geräteübergreifenden Anwendung kann der Fehler E2238 auftreten, weil die OS X-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 ähnliche 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 (in der Projektverwaltung) 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

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.

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

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 XE7 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 in http://docs.embarcadero.com/products/interbase/IBXE7/OpGuide.pdf (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 früheren Versionen von RAD Studio und Anwendungen, die damit erzeugt wurden, funktionieren auch mit der aktualisierten InterBase XE7-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\InterBaseXE7

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.

Siehe auch

Meine Werkzeuge
In anderen Sprachen
Frühere Versionen
Assistenz