I wonder if there is already some sort of compatibility for the Win64x (modern c++ 64 bit compiler) platform within RemObjects SDK? The latest version only has Win64 and WinARM64EC, but no Win64x. I believe that something needs to be enabled on the Delphi packages for this to be produced. I am thinking about starting the migration for some of my apps to 64 bits and the modern C++ compiler, but this is apparently needed for me to advance.
I am on RAD Studio 13.2, with the latest RO-SDK available version: 1627.
check that Options → Building → Delphi Compiler → Output - C/C++ → C/C++ Output file genertion is set to Generate all C++Builder files... for Win64 (modern) or all targets:
It is not valid for the modern 64bit C++ clang-based compiler to mix __finally and catch in the same function. And at least the Async functions in the generated _Intf files produce those.
Fixing those for some of the recommended paths by Embarcadero now surfaced another issue, a bug in the compiler itself: Broken module found ("unwind destination does not have an exception handling instruction"), which is apparently easily reproducible. It depends on having an interface method that takes a String by value and has a __try/__finally body… which every generated RO proxy has… I am preparing a test case to upload to QP. In the mean time, passing the String by reference appears to workaround this. Also, calling without the interface, but that I guess is not an option.
Edit: I’ve reported this to Embarcadero: Jira Service Management - and will try opening a support ticket with them to see if this can be looked into faster…