An unusual bug in 10.4 where an unexpected dialog can appear when debugging has a workaround: temporarily disable the Welcome screen.
Table of Contents
Update July 21st, 2020
10.4 Patch #2 solves this problem. Please install it instead of using the below workaround.
Original Post
There is a bug in RAD Studio 10.4 where, when debugging, you may get a dialog you did not expect appear at apparently random times. It may not be fully visible, such as displaying the title bar and only part of the window. After closing the dialog, debugging may continue or you may experience instability leading the IDE to close.
The issue is somewhat unexpected: it’s caused by the Welcome page. Specifically, it’s caused by the new feature where GetIt now installs IDE patches. The Welcome page checks for any new patches being available in a background thread, and a threading issue causes a modal dialog to be shown incorrectly and from a non-main thread.
We have a fix for the issue and will issue a hotfix soon.
Workaround
In the meantime, there is a workaround: to disable the Welcome screen. Do this via the registry (so take appropriate precautions.) In the Registry Editor:
- Open the path “HKEY_CURRENT_USERSoftwareEmbarcaderoBDS21.0Known IDE Packages”
- Locate the string entry “$(BDS)Binstartpageide270.bpl”
- Do not delete it. Instead, edit it. Its value is the description, “Start Page IDE Package”. Add an underscore at the beginning of the description so it reads “_Start Page IDE Package”
- Open the IDE
A patch / hotfix will be arriving soon. Note that to install the patch once it’s released, you can open the GetIt Package Manager directly from the Tools menu and navigate to the “Patches and Hotfixes” category. If you installed via the offline (ISO) installer, turn GetIt into online mode first.
Other notes
As a side note, this post highlights two things that our users sometimes do but we suggest doing differently.
The first is that, if you disable IDE packages, some people delete the entries. We recommend not doing this but adding an underscore (_) at the start of the description. This is the official way to disable a package located in this registry location. We usually don’t recommend doing this at all (some packages can depend on others), but if you do, it allows you to restore the package easily if you need to.
Second, some information on social media suggests toggling GetIt between online and offline mode by editing the registry. This is not recommended. The correct way to do this is to use the command line app provided and run GetItCmd.exe -c=useonline to turn it to look online for data, or GetItCmd.exe -c=useoffline to turn it back to offline / ISO disk installation.