De patch is verkrijgbaar via GetIt.
Deze patch pakt een aantal problemen aan in RAD Studio 10.4, met betrekking tot de Delphi Compiler, de RAD Studio IDE in het algemeen en de nieuwe LSP-gebaseerde Code Insight in het bijzonder, plus C++ Builder Android exceptions en enkele debugger-problemen.
De installatie van deze patch vereist een voorafgaande installatie van Patch #1 (afzonderlijk beschikbaar op GetIt en in het downloadportaal). Het installeren van deze patch wordt aanbevolen voor alle RAD Studio 10.4 klanten. Merk op dat deze patch vrij groot is om te downloaden (ongeveer 190 MB).
De patch bevat gedetailleerde installatie-instructies als onderdeel van de Readme. Lees de stappen zorgvuldig (of de corresponderende stappen in deze blogpost), want de GetIt download installeert de patch niet automatisch. Je moet de instructies volgen om te installeren. Alleen GetIt gebruiken is niet genoeg.
Patch 2 downloaden
We raden je aan GetIt te gebruiken in de RAD Studio IDE om de patch te downloaden. De patch zou vermeld moeten staan op de Welkomstpagina in de IDE, en beschikbaar moeten zijn in de "Patches en Hotfixes" sectie van de GetIt Package Manager, zoals hier afgebeeld:

Er is meer dan één patch, afhankelijk van je editie. Je zou er slechts één moeten zien (Professional of Enteprise en voor verschillende persoonlijkheden), installeer deze.
Opmerking: Voor het installeren van Patch #2 via GetIt in de IDE is een internetverbinding nodig. Als je RAD Studio hebt geïnstalleerd via de Offline (ISO) Installer, moet je misschien ook het commando GetItCmd.exe -c=useonline uitvoeren (tenzij je het commando al een keer hebt uitgevoerd).
Je kunt de patch ook downloaden via de nieuwe downloadportal, my.embarcadero.com, deze kopiëren naar de ontwikkelmachine, uitpakken en dezelfde installatiestappen volgen.
Als je op GetIt de patch #2 selecteert en op de installatieknop drukt, wordt je gevraagd om de RAD Studio-licentie te accepteren (waaronder het is uitgebracht). Ga akkoord met de licentie en het downloaden begint. Dit zal enige tijd duren:

Sommige klanten krijgen een foutmelding: Kan geen gegevens laden van de server...
De reden hiervoor is dat GetIt in offline modus staat wanneer je de ISO hebt gebruikt.
Je kunt dit terugschakelen naar online modus door de opdracht getitcmd.exe -c=useonline uit te voeren
Patch 2 installeren
Zodra de download is voltooid, opent GetIt het leesmij-bestand en de downloadmap (zie hieronder). De installatie van Patch 2 moet handmatig worden gedaan, omdat GetIt de patch alleen downloadt, maar niet installeert.
De uitvoerbare patch wordt samen met een ZIP-bestand gekopieerd naar een map zoals:
C:\Users||Documents\Embarcadero\Studio\21.0\CatalogRepository\10.4Patch2xx-10\R104_Patch2

De map wordt automatisch geopend door de laatste GetIt-actie. Sluit nu de RAD Studio 10.4 IDE af (en ook alle andere eerdere versies van RAD Studio IDE die mogelijk actief zijn) en voer vanuit de hierboven genoemde map het batchbestand patch2.bat uit.
Opmerking: De volgende installatiestappen kunnen leiden tot een waarschuwing van je antivirussoftware.
Het proces vereist elevatie en gaat verder met het tonen van de stappen en het toevoegen van een gedetailleerd logbestand aan de map van de catalogusrepository:


Zoals je in de bovenstaande afbeelding kunt zien, geeft de installatie enkele waarschuwingen (eigenlijk 2) omdat er bestanden worden toegevoegd die ontbraken in de oorspronkelijke 10.4 release. Dit wordt verwacht. De informatie die op het scherm wordt weergegeven, wordt ook gelogd in een bestand met de naam patch.log in de map Catalog Repository voor de patch.
Aan het einde van het proces sluit het opdrachtregelvenster en kunt u de RAD Studio 10.4 IDE opnieuw opstarten.
Correcte installatie controleren
Om te controleren of de patch succesvol is geïnstalleerd, kun je kijken naar de tijdstempel van de vervangen bestanden, bijvoorbeeld getit270.bpl onder de map bin zou een juli 2020 tijdstempel moeten hebben (in plaats van de mei 2020 die de meeste bestanden hebben).
Stappen voor de-installatie
Mocht je problemen ondervinden met de patch, dan kun je deze verwijderen door RAD Studio af te sluiten, de Catalog Repository installatiemap te openen (dezelfde map die hierboven is genoemd) en patch2uninstall.bat uit te voeren. Dit zal de back-upbestanden van de originele versie herstellen.
Het patchproces maakt een back-up van de vervangen bestanden in een submap _patch_backup van de hoofdinstallatiemap van RAD Studio. Voor elke uitvoering maakt het een submap aan met de installatietijdstempel, die ook een install.log-bestand bevat. Als alternatief voor het verwijderen van de patch, kunt u de bestanden handmatig kopiëren van deze back-upmap naar de hoofdmap van BDS.
Pas nadat je de patch hebt verwijderd, kun je het pakket van GetIt verwijderen. Als je eerst het pakket van GetIt verwijdert, zal het de download en het uninstall script verwijderen, maar niet de geïnstalleerde patch. In dit geval kun je de bestanden handmatig herstellen vanuit de back-upmap zoals hierboven aangegeven of je kunt de patch opnieuw downloaden en het uninstall batchbestand uitvoeren.
Lijst met door klanten gemelde problemen die worden aangepakt in 10.4 Patch 2
RAD Studio 10.4 Patch #2 lost de volgende problemen op die door klanten zijn gemeld op Embarcadero Quality Portal (https://quality.embarcadero.com):
RSP-29628 VCL rasters bug
RSP-29560 [REGRESSION] Verkeerde uitlijning in TStringGrid, methode StretchDraw in OnDrawCell
RSP-29412 Compiler genereert onjuiste code voor als-dan
RSP-29402 Delphi 10.4 TStringGrid.OnDrawCell bug
RSP-29374 Verkeerde rechthoekcoördinaten in TStringGridDrawCell, dus afbeelding wordt op verkeerde positie getekend
RSP-29347 [DelphiLSP] IDE crasht als formulier als tekst wordt geselecteerd en LSP-server wordt uitgevoerd
RSP-29310 Interne fout L891 bij koppelen vanwege complexe types gebaseerd op records met klasse var
RSP-29299 CODEGEN bug in initialisatie beheerde velden, geassocieerd met nieuwe beheerders.
RSP-29271 [DelphiLSP] Code Insight voegt onnodige () toe bij het wijzigen van procedures/functies
RSP-29256 Compiler genereert verkeerde code voor sjabloonfunctie
RSP-29227 Onjuiste eigendomswaarde verkregen uit het record
RSP-29226 Toegangsschending met werkcode onder 10.2
RSP-29218 compileren statische bibliotheek onder Android fout E4620 verwerking bron .fmx -2 verhoogd
RSP-29172 Toegangsschending bij het openen van Licentiebeheer
RSP-29142 GoTo verklaringen werken niet
RSP-29136 Dialoogvenster verschijnt constant tijdens debuggen
RSP-29129 iOS App crasht gewoon met TWebBrowser erop.
RSP-29127 Interne fout van de compiler als u het resultaat negeert van een functie die een generiek record retourneert
RSP-29124 IJS E1812
RSP-28989 License Manager heeft een toegangsfout wanneer ik klik op Workstation Licenties
RSP-28887 Spatie voltooit code niet
RSP-28857 Default(T) genereert slechte code voor beheerde record
RSP-28821 [Regressie] TStringGrid.OnDrawCell parameter Rect bevat verkeerde waarden
RSP-28808 Projectopties dialoogpagina "Delphi Compiler" is niet ingevuld bij het openen van het dialoogvenster
RSP-28796 RVO voor M-records: initialisatie van lokale variabelen
RSP-28761 [REGRESSION] E2154 Type 'T' vereist afronding - niet toegestaan in variantrecord
RSP-28737 Compilerfout bij het inlinen van nieuwe Bit Counting Standard-functies
RSP-28735 Beheerde records veroorzaken interne compilerfout
RSP-28717 Delphi Pakket kan niet worden gecompileerd
RSP-28701 Visueel binden aan TDBGRID doodt de IDE
RSP-28669 [BadCG] Waarde M-record parameters: onjuiste AddRefRecord
RSP-28659 RVO voor M-records: toewijzing aan lokale variabelen
RSP-28616 [BadCG] Operator Assign mag niet toestaan dat niet-standaard oproepconventies worden gebruikt.
RSP-28615 [BadCG] Bij afwezigheid van Initialize is finalisatie niet gegarandeerd voor lokale variabelen.
RSP-28552 Slechte codegeneratie voor lokale beheerde recordvariabelen
RSP-28499 Opties - Vertaalhulpmiddelen - Font - Corrupt?
RSP-28476 LSP ErrorInsight in structuurvenster toont slechts één toetsaanslag na editor
RSP-28400 [BadCG] Operator Assign wordt niet altijd aangeroepen voor velden
RSP-28372 [Regressie] Slechte codegen in functie die generiek type teruggeeft
RSP-27268 C++ Builder 10.3.3 Android Uitzonderingen
RSP-27251 Interne fout bij het proberen te inlinen met optimalisatie op
RSP-24079 Pakketversie is gebroken
RSP-23403 Build voor linux 64 foutmelding
RSP-23024 Record helper klasse constructor geeft zinloze compiler waarschuwing
RSP-22318 Pointer type controle gemist wanneer objectveld een dynarray is
RSP-21554 Compiler genereert onjuiste code voor geparametriseerd recordtype
RSP-21248 Const dynamische array bevat onverwacht niet-geïnitialiseerde gegevens
RSP-20372 Een generieke "verwijzing naar functie" komt alleen overeen met de eerste van meerdere overbelaste functies
RSP-19714 Win32 compiler - Geheugenbeschadiging met array helpers
RSP-18241 *.c bronbestanden, toegevoegd aan C++ project, werden toegevoegd aan DeploymentManager bestandslijst
RSP-18148 AV in TList.Remove (alleen 64-bits compiler)
