Der Patch ist über GetIt erhältlich.
ieser Patch behebt eine Reihe von Problemen in RAD Studio 10.4, die den Delphi Compiler, die RAD Studio IDE im Allgemeinen und den neuen LSP-basierten Code Insight im Besonderen betreffen, sowie C++ Builder Android-Ausnahmen und einige Debugger-Probleme.
Die Installation dieses Patches erfordert eine vorherige Installation von Patch #1 (separat erhältlich auf GetIt und im Download-Portal). Die Installation dieses Patches wird für alle RAD Studio 10.4 Kunden empfohlen. Beachten Sie, dass der Download dieses Patches recht umfangreich ist (ca. 190 MB).
Der Patch enthält detaillierte Installationsanweisungen als Teil der Readme-Datei. Bitte lesen Sie die Schritte sorgfältig durch (oder die entsprechenden Schritte in diesem Blogbeitrag), da der GetIt-Download den Patch nicht automatisch installiert. Sie müssen die Anweisungen befolgen, um den Patch zu installieren. Die Verwendung von GetIt allein ist nicht ausreichend.
Wie Sie Patch 2 herunterladen
Wir empfehlen Ihnen, GetIt in der RAD Studio IDE zu verwenden, um den Patch herunterzuladen. Der Patch sollte auf der Willkommensseite in der IDE aufgelistet und im Abschnitt "Patches und Hotfixes" des GetIt-Paketmanagers verfügbar sein, wie hier abgebildet:

Es gibt mehr als einen Patch, je nach Ihrer Edition. Sie sollten nur einen davon sehen (Professional oder Enteprise und für verschiedene Persönlichkeiten), installieren Sie ihn.
Anmerkung: Die Installation von Patch #2 über GetIt in der IDE erfordert eine Internetverbindung. Wenn Sie RAD Studio über das Offline-Installationsprogramm (ISO) installiert haben, müssen Sie möglicherweise auch den Befehl GetItCmd.exe -c=useonline eingeben (es sei denn, Sie haben den Befehl bereits einmal eingegeben).
Sie können den Patch auch über das neue Download-Portal my.embarcadero.com herunterladen, ihn auf den Entwicklungscomputer kopieren, entpacken und die gleichen Installationsschritte durchführen.
Wenn Sie in GetIt den Patch #2 auswählen und auf die Schaltfläche Installieren klicken, werden Sie aufgefordert, die RAD Studio-Lizenz zu akzeptieren (unter der das Programm freigegeben ist). Stimmen Sie der Lizenz zu und der Download wird gestartet. Dies wird einige Zeit in Anspruch nehmen:

Einige Kunden erhalten eine Fehlermeldung: Daten können nicht vom Server geladen werden...
Der Grund dafür ist, dass sich GetIt im Offline-Modus befindet, wenn Sie die ISO-Datei verwendet haben.
Sie können den Online-Modus wieder aktivieren, indem Sie den Befehl getitcmd.exe -c=useonline ausführen
Wie Sie Patch 2 installieren
Sobald der Download abgeschlossen ist, öffnet GetIt die Readme-Datei und den Download-Ordner (siehe unten). Die Installation von Patch 2 muss manuell vorgenommen werden, da GetIt den Patch nur herunterlädt, aber nicht installiert.
Die ausführbare Patch-Datei wird zusammen mit einer ZIP-Datei in einen Ordner wie:
C:\Users||Documents\Embarcadero\Studio\21.0\CatalogRepository\10.4Patch2xx-10\R104_Patch2

Der Ordner wird automatisch durch die letzte GetIt-Aktion geöffnet. Schließen Sie nun die RAD Studio 10.4 IDE (und auch alle anderen früheren Versionen der RAD Studio IDE, die möglicherweise noch laufen) und führen Sie in dem oben genannten Ordner die Batch-Datei patch2.bat aus.
Hinweis: Die folgenden Installationsschritte können eine Warnung Ihrer Antiviren-Software auslösen.
Der Prozess erfordert eine Erhöhung und zeigt die einzelnen Schritte an und fügt eine ausführliche Protokolldatei in den Katalogablageordner ein:


Wie Sie in der obigen Abbildung sehen können, zeigt die Installation eine Warnung an (eigentlich 2), da sie Dateien hinzufügt, die in der ursprünglichen Version 10.4 fehlten. Dies ist zu erwarten. Die auf dem Bildschirm angezeigten Informationen werden auch in einer Datei namens patch.log im Ordner Catalog Repository für den Patch protokolliert.
Am Ende des Prozesses wird das Befehlszeilenfenster geschlossen und Sie können die RAD Studio 10.4 IDE neu starten.
Überprüfen der korrekten Installation
Um zu überprüfen, ob der Patch erfolgreich installiert wurde, können Sie sich den Zeitstempel der ersetzten Dateien ansehen. Zum Beispiel sollte getit270.bpl im Ordner bin einen Zeitstempel vom Juli 2020 haben (und nicht wie die meisten Dateien vom Mai 2020).
Schritte zur Deinstallation
Sollten Sie Probleme mit dem Patch haben, können Sie ihn entfernen, indem Sie RAD Studio schließen, den Installationsordner des Catalog Repository öffnen (derselbe Ordner wie oben erwähnt) und patch2uninstall.bat ausführen. Dadurch werden die Sicherungsdateien der ursprünglichen Version wiederhergestellt.
Der Patch-Prozess erstellt eine Sicherungskopie der ersetzten Dateien in einem Unterordner _patch_backup des Hauptinstallationsordners von RAD Studio. Für jede Ausführung wird ein Unterordner mit dem Zeitstempel der Installation erstellt, der auch eine install.log-Datei enthält. Als Alternative zur Deinstallation des Patches können Sie die Dateien aus diesem Sicherungsordner manuell in den BDS-Hauptordner kopieren.
Erst nachdem Sie den Patch deinstalliert haben, können Sie das Paket von GetIt deinstallieren. Wenn Sie das Paket zuerst von GetIt aus deinstallieren, werden zwar der Download und das Deinstallationsskript entfernt, nicht aber der installierte Patch. In diesem Fall können Sie die Dateien manuell aus dem Sicherungsordner wiederherstellen, wie oben beschrieben, oder Sie können den Patch erneut herunterladen und die Deinstallations-Batchdatei ausführen.
Liste der von Kunden gemeldeten Probleme, die in 10.4 Patch 2 behoben wurden
RAD Studio 10.4 Patch #2 behebt die folgenden Probleme, die von Kunden im Qualitätsportal Embarcadero gemeldet wurden (https://quality.embarcadero.com):
RSP-29628 VCL Grids Fehler
RSP-29560 [REGRESSION] Falsche Ausrichtung in TStringGrid, StretchDraw Methode in OnDrawCell
RSP-29412 Compiler erzeugt falschen Code für if-then
RSP-29402 Delphi 10.4 TStringGrid.OnDrawCell Fehler
RSP-29374 Falsche Rect-Koordinaten in TStringGridDrawCell, so dass Bilder an der falschen Position gezeichnet werden
RSP-29347 [DelphiLSP] IDE stürzt ab, wenn Formular als Text anzeigen ausgewählt ist und LSP-Server läuft
RSP-29310 Interner Fehler L891 beim Verknüpfen wegen komplexer Typen, die auf Datensätzen mit der Klasse var basieren
RSP-29299 CODEGEN-Fehler bei der Initialisierung von verwalteten Feldern in Verbindung mit neuen Verwaltungsoperatoren.
RSP-29271 [DelphiLSP] Code Insight fügt beim Ändern von Prozeduren/Funktionen überflüssige () hinzu
RSP-29256 Compiler erzeugt falschen Code für Vorlagenfunktion
RSP-29227 Falscher Eigenschaftswert aus dem Datensatz erhalten
RSP-29226 Zugriffsverletzung mit Arbeitscode unter 10.2
RSP-29218 Kompilieren der statischen Bibliothek unter Android Fehler E4620 Verarbeitung der Ressource .fmx -2 ausgelöst
RSP-29172 Zugriffsverletzung beim Öffnen des Lizenzmanagers
RSP-29142 GoTo-Anweisungen funktionieren nicht
RSP-29136 Dialog wird während der Fehlersuche ständig eingeblendet
RSP-29129 iOS App stürzt einfach ab, wenn ein TWebBrowser darauf läuft.
RSP-29127 Interner Compiler-Fehler, wenn Sie das Ergebnis einer Funktion ignorieren, die einen generischen Datensatz zurückgibt
RSP-29124 EIS E1812
RSP-28989 Der Lizenzmanager hat einen Zugriffsverletzungsfehler, wenn ich auf Workstation-Lizenzen klicke
RSP-28887 Leerzeichen beendet die Code-Vervollständigung nicht
RSP-28857 Default(T) erzeugt falschen Code für verwalteten Datensatz
RSP-28821 [Regression] TStringGrid.OnDrawCell Parameter Rect enthält falsche Werte
RSP-28808 Die Seite "Delphi Compiler" des Dialogs Projektoptionen wird beim Öffnen des Dialogs nicht ausgefüllt
RSP-28796 RVO für M-Datensätze: Initialisierung von lokalen Variablen
RSP-28761 [REGRESSION] E2154 Typ 'T' muss finalisiert werden - in Variantensatz nicht erlaubt
RSP-28737 Compiler-Fehler beim Inlining neuer Bit Counting Standard Funktionen
RSP-28735 Verwaltete Datensätze, die einen internen Compiler-Fehler verursachen
RSP-28717 Delphi Paket lässt sich nicht kompilieren
RSP-28701 Bind visuell auf TDBGRID tötet die IDE
RSP-28669 [BadCG] Wert M-Datensatz-Parameter: Ungeeigneter AddRefRecord
RSP-28659 RVO für M-Datensätze: Zuordnung zu lokalen Variablen
RSP-28616 [BadCG] Operator Assign sollte keine nicht standardmäßigen Aufrufkonventionen zulassen
RSP-28615 [BadCG] In Abwesenheit von Initialize ist die Finalisierung für lokale Variablen nicht garantiert
RSP-28552 Schlechte Codegenerierung für lokale verwaltete Datensatzvariablen
RSP-28499 Optionen - Übersetzungstools - Schriftart - Beschädigt?
RSP-28476 LSP ErrorInsight im Strukturfenster zeigt nur einen Tastendruck nach dem Editor
RSP-28400 [BadCG] Operator Assign wird nicht immer für Felder aufgerufen
RSP-28372 [Regression] Schlechtes Codegen in einer Funktion, die einen generischen Typ zurückgibt
RSP-27268 C++ Builder 10.3.3 Android Ausnahmen
RSP-27251 Interner Fehler beim Versuch, mit der Optimierung inline auf
RSP-24079 Paketversion ist defekt
RSP-23403 Build für linux 64 Fehler
RSP-23024 Konstruktor der Record-Helferklasse gibt sinnlose Compiler-Warnung
RSP-22318 Prüfung des Zeigertyps fehlt, wenn das Objektfeld ein Dynarray ist
RSP-21554 Compiler erzeugt falschen Code für parametrisierten Datensatztyp
RSP-21248 Const dynamic array enthält unerwartet nicht initialisierte Daten
RSP-20372 Ein generischer "Verweis auf eine Funktion" passt nur auf die erste von mehreren überladenen Funktionen
RSP-19714 Win32 Compiler - Speicherbeschädigung mit Array-Helfern
RSP-18241 *.c-Quelldateien, die dem C++-Projekt hinzugefügt wurden, wurden der DeploymentManager-Dateiliste hinzugefügt
RSP-18148 AV in TList.Remove (nur 64-bit Compiler)
