sjordi 39 Posted August 14, 2019 Hi, Just wanted to recompile an app I wrote a year ago that compiles fine under Tokyo, Seattle, Rio 10.3... Now under 10.3.2 if I compile it, no matter what the target platform, I get this error message while debugging: Project raised exception class EComponentError with message 'This control requires version 4.70 or great of COMCTL32.DLL' Of course I have strictly no idea whatsoever of which component is at the source of the problem. Any idea what could be the cause? Thanks for any light. Steve Share this post Link to post
Guest Posted August 14, 2019 I would guess probably something from ComCtrls. Share this post Link to post
Lars Fosdal 1792 Posted August 14, 2019 What version is your comctl32.dll? Can an ancient version have snuck into your path somewhere? Share this post Link to post
stijnsanders 35 Posted August 14, 2019 I remember Windows introduced manifest resources into exe files at some version and they also control the mapping to one of the versions of comctrl.dll that is present in the system. Could a manually modified .manifest file be causing this problem? 1 Share this post Link to post
sjordi 39 Posted August 14, 2019 I have an empty VM that just has Windows 10 Pro 64-bit and Rio 10.3.2 I can find some COMCTL32.DLL files c:\windows\system32, version 5.82 c:\windows\SysWOW64, version 5.82 c:\Windows \WinSxS, version 5.82 None of them are actually in Rio. Very strange. I'm using an FMX app, not a VCL. I removed all manifest and entitlement files, recompiled... still the same problem Share this post Link to post
Remy Lebeau 1398 Posted August 14, 2019 9 hours ago, sjordi said: Just wanted to recompile an app I wrote a year ago that compiles fine under Tokyo, Seattle, Rio 10.3... Now under 10.3.2 if I compile it, no matter what the target platform, I get this error message while debugging: Project raised exception class EComponentError with message 'This control requires version 4.70 or great of COMCTL32.DLL' Of course I have strictly no idea whatsoever of which component is at the source of the problem. What does the call stack look like when the exception is raised? Share this post Link to post
Remy Lebeau 1398 Posted August 14, 2019 (edited) 7 hours ago, stijnsanders said: I remember Windows introduced manifest resources into exe files at some version That was XP, when Visual Styles were first introduced. Quote they also control the mapping to one of the versions of comctrl.dll that is present in the system. Could a manually modified .manifest file be causing this problem? Doubtful. What you are thinking of is the app manifest needed to enable ComCtrl32.dll v6 so Visual Styles work. Without the manifest, the system default ComCtrl32.dll version is used instead. 4.70 was the version shipped in Win95. XP and later have shipped with 5.82 and 6.x. More likely, there is simply a logic bug in the offending component, either it is not initializing ComCtrl32 correctly, or it is not detecting the active ComCtrl32 version number correctly. Edited August 14, 2019 by Remy Lebeau Share this post Link to post
Lars Fosdal 1792 Posted August 15, 2019 16 hours ago, sjordi said: Very strange. I'm using an FMX app, not a VCL. It has to be one of the units you use that pulls in non-VCL stuff, then? Share this post Link to post
sjordi 39 Posted August 18, 2019 Ok after tinkering with the .dproj file I decided to start from scratch, an empty project, added all my units and compiled. No problems. Just had to add all the icons, splash screens, and the specifics in each Deployment. Now it works. Thanks all 1 Share this post Link to post