This patch addresses a number of issues in RAD Studio 10.4, pertaining to Delphi Compiler, the RAD Studio IDE in general and the new LSP-based Code Insight in particular, plus C++ Builder Android exceptions and some debugger issues.
The installation of this patch requires a prior installation of Patch #1 (separately available on GetIt and in the download portal). Installing this patch is recommended for all RAD Studio 10.4 customers. Note that this patch is fairly large to download (around 190 MB).
The patch includes detailed installation instructions as part of the Readme. Please read the steps carefully (or the corresponding steps in this blog post), as the GetIt download does not install the patch automatically. You must follow the instructions in order to install. Just using GetIt is not enough.
We recommend you use GetIt in the RAD Studio IDE to download the patch. The patch should be listed on the Welcome Page in the IDE, and available in the “Patches and Hotfixes” section of the GetIt Package Manager, as depicted here:
There is more one patch, depending on your edition. You should see only one of them (Professional or Enteprise and for different personalities), install it.
Note: Installing Patch #2 through GetIt in the IDE requires an internet connection. If you installed RAD Studio via the Offline (ISO) Installer, you might also need to issue the command GetItCmd.exe -c=useonline (unless you have already issued the command once).You can also download the patch via the new download portal, my.embarcadero.com, copy it to the development machine, unzip and follow the same installation steps.
From GetIt once you select the Patch #2 and press the install button, it will ask you to accept the RAD Studio license (under which it is released). Agree to the license and it starts the download. This will take some time:
Once the download is completed, GetIt will open the readme file and the download folder (see below). The installation of Patch 2 needs to be done manually, as GetIt only downloads the patch, it does not install it.
The patch executable is copied along with a ZIP file into a folder like:C:\Users\<name>\Documents\Embarcadero\Studio\21.0\CatalogRepository\10.4Patch2xx-10\R104_Patch2
The folder is opened automatically by the last GetIt action. Now, close the RAD Studio 10.4 IDE (and also any other earlier versions of RAD Studio IDE that may be running) and from the folder mentioned above, run the batch file patch2.bat.
Note: The following installation steps might trigger warning by your antivirus software.
The process requires elevation and proceeds showing the steps and adding a detailed log file to the catalog repository folder:
As you can see in the image above, the installation displays some warning (actually 2) as it adds files that were missing in the original 10.4 release. This is expected. The information displayed on the screen is also logged in a file called patch.log in the Catalog Repository folder for the patch.
At the end of the process, the command line window closes and you can restart the RAD Studio 10.4 IDE.
To verify that the patch has been successfully installed, you can look at the timestamp of the replaced files, for example getit270.bpl under the bin folder should have a July 2020 timestamp (rather than the May 2020 one most files have).
In case you run into any issues with the patch you can remove the it by closing RAD Studio, opening the Catalog Repository installation folder (the same folder mentioned above) and run patch2uninstall.bat. This will restore the backup files of the original version.
The patch process creates a backup of the files replaced in a _patch_backup subfolder of the RAD Studio main installation folder. For each execution, it creates a subfolder with the installation timestamp, which also includes an install.log file. As an alternative for uninstalling the patch, you can manually copy the files from this backup folder to the main BDS folder.
Only after you have uninstalled the patch, you can uninstall the package from GetIt. If you uninstall the package from GetIt first, it will remove the download and the uninstall script, but not the installed patch. In this case, you can manually restore the files from the backup folder as indicated above or you can download the patch again and run the uninstall batch file.
RAD Studio 10.4 Patch #2 addresses the following issues reported by customer on Embarcadero Quality Portal (https://quality.embarcadero.com):
RSP-29628 VCL Grids bug RSP-29560 [REGRESSION] Misalignment in TStringGrid, StretchDraw method in OnDrawCellRSP-29412 Compiler generates incorrect code for if-thenRSP-29402 Delphi 10.4 TStringGrid.OnDrawCell bugRSP-29374 Wrong rect coords in TStringGridDrawCell, so image are drawn at wrong positionRSP-29347 [DelphiLSP] IDE Crashes when view form as text is selected and running LSP serverRSP-29310 Internal error L891 when linking because of complex types based on records with class varRSP-29299 CODEGEN bug in managed fields initialization, associated with new management operators.RSP-29271 [DelphiLSP] Code Insight adds unneeded () when changing procedures/functionsRSP-29256 Compiler generates wrong code for template functionRSP-29227 Incorrect property value obtained from the recordRSP-29226 Access violation with working code under 10.2RSP-29218 compiling static library under Android error E4620 processing resource .fmx -2 raisedRSP-29172 Access Violation when opening License ManagerRSP-29142 GoTo statements not workingRSP-29136 Dialog constantly pops up during debuggingRSP-29129 iOS App simply crashes with a TWebBrowser on it.RSP-29127 Compiler internal error if you ignore the result of a function that returns a generic recordRSP-29124 ICE E1812RSP-28989 License Manager has access violation error when i click on Workstation LicensesRSP-28887 Space does not finish code completionRSP-28857 Default(T) generates bad code for managed recordRSP-28821 [Regression] TStringGrid.OnDrawCell parameter Rect contains wrong valuesRSP-28808 Project options dialog page "Delphi Compiler" is not populated when opening the dialogRSP-28796 RVO for M-records: initialisation of local variablesRSP-28761 [REGRESSION] E2154 Type 'T' needs finalization - not allowed in variant recordRSP-28737 Compiler error when inlining new Bit Counting Standard FunctionsRSP-28735 Managed Records Causing Internal Compiler ErrorRSP-28717 Delphi Package fails to compileRSP-28701 Bind visually on TDBGRID kills the IDERSP-28669 [BadCG] Value M-record parameters: improper AddRefRecordRSP-28659 RVO for M-records: assignment to local variablesRSP-28616 [BadCG] Operator Assign should not allow non-default calling conventionsRSP-28615 [BadCG] In the absence of Initialize, finalisation is not guaranteed for local variablesRSP-28552 Poor code generation for local managed record variablesRSP-28499 Options - Translation tools - Font - Corrupted?RSP-28476 LSP ErrorInsight in Structure Pane only shows one keystroke after editorRSP-28400 [BadCG] Operator Assign is not always invoked for fieldsRSP-28372 [Regression] Bad codegen in function returning generic typeRSP-27268 C++ Builder 10.3.3 Android ExceptionsRSP-27251 Internal error when trying to inline with optimization onRSP-24079 Package version is brokenRSP-23403 Build for linux 64 errorRSP-23024 Record helper class constructor gives senseless compiler warningRSP-22318 Pointer type check missed when object field is a dynarrayRSP-21554 Compiler generates incorrect code for parameterized record typeRSP-21248 Const dynamic array unexpectedly contains uninitialized dataRSP-20372 A generic "reference to function" will only match the first of several overloaded functionsRSP-19714 Win32 compiler - Memory corruption with array helpersRSP-18241 *.c source files, added to C++ project, got added to DeploymentManager file listRSP-18148 AV in TList<T>.Remove (64-bit compiler only)
Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy.
Start Free Trial
Free Delphi Community Edition
Free C++Builder Community Edition
There is currently a problem with one of the servers, it should be resolved shortly
Installing the patch fails with 'Invalid Serial Number'. Can anyone help? Please?
Four weeks ago, I was promised an updated Roadmap in the "next few days". Nothing happened so far.
I did send an EMail about two weeks ago and did not get any response...
Seems like 64-Bit Android will not be available soon - the response from my local Embarcadero sales as of today is:
<quote>Android 64-Bit for C++Builder will not be available in the next few months, else we would know something about it.</quote>
Did you check the batch file? It is just used to pass 3 parameters to the patch tool, which is a native application written in Delphi -- so we are doing exactly what you are asking.
Who needs a 100% native compiled language, if the developer of the tool prefers to use a batch file to update his tool? Would it be very difficult to create a console application to do this?
The same with me. 10.4 is unusable without Hausladen's IDEFixPack and it seems he wont do the job this time
When will by patch for C++ Builder 10.3.3? debugger for 10.3.3 is terrible - RSP-28168 - TField->AsString E2468 Value of type void is not allowed, RSP-27579 - Debug Inspector Fails to find Items.
So, our Update Subscription has expired, I reckon that is why it takes me to the Update Subscription URL. Sorry for any confusion, but if you are having the same type of symptoms as I outlined, your subscription may be expired too.
Another interesting point is that I can run the installer from GetIt for Patch 1 and it completes and indicates it was installed, however, if I browse to another portion of GetIt without ever exiting, and then go back to All, I see both patches as needing install. Hmmmm
Yes, I do see both Patch1 and Patch2. I have installed Patch1, GetIt says Installed, I then installed Patch 2 and again it says installed, I realize I have to run the patch2.bat file in order to install, so I do that. I shut down the app, start it back up, and GtIt says I need both patches installed. I have tried many variations of installation, all of which wind up at the same place of neither being recognized as being installed. Like I mentioned before, the files are replaced, I can see them. I have not put the app through some testing but it appears to work just fine in developing/compiling Windows VCL apps, have not tried anything beyond that yet.
This URI leads to a similar incident, but not the same.
https://quality.embarcadero.com/browse/RSP-29576 - covers this, I think.
Which is my thought process as well. However, the result is not what is expected, No update to patch installation in About, nor GetIt retaining install info. As I said, I even re-installed the product (10.4) and tried multiple times, all with same outcome.