I upgraded to c++ Builder 13 not long after it came out, all patches applied, coming from 12.3 and having gone through all versions since v 11 for this particular project.
The code did not change much, a few features added, but nothing related to this issue (I checked)
It appears that the 64bit 'modern' build doesn't work on W7 anymore. (32bit still works fine). This flew under the radar (I did not expect this issue to suddenly occur) and it is now being reported by people in a Beta build with a final release just around the corner. Ouch. I was also blindsided by the fact that W7 is not officially supported anymore by the new toolset. Too many people still use W7. Annoying.
To the point. I noticed that CommandLineToArgvW and SHStrDupW are now loaded from SHCORE.dll. This dll does not exist on W7 systems.
But why ? These functions, in all previous builds, were always loaded from different dlls (that DO exist on W7):
CommandLineToArgvW -> SHELL32.dll and SHStrDupW -> SHLWAPI32.dll
I figure that this is due to included headers. However, it is very much out of my comfort zone to mess with compiler installed headers. I also don't know how much of this is baked into VCL and other pre-compiled toolset-installed libraries.
Any idea why this is happening with the new IDE. Why they might have changed this (if purposely changed) and how I could possibly work around this for my upcoming release ? I can of course go back to 12.3, and I checked, those builds still work fine. But first I'd like to explore this.
I also reported a 'bug' with Embarcadero but I had no idea they removed W7 support. I did not see it announced anywhere but I fear they won't look at it.