Jump to content
sjordi

his control requires version 4.70 or great of COMCTL32.DLL

Recommended Posts

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

What version is your comctl32.dll?

 

Can an ancient version have snuck into your path somewhere?

 

Share this post


Link to post

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?

  • Like 1

Share this post


Link to post

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
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
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 by Remy Lebeau

Share this post


Link to post
 
 
 
 
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

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

 

  • Like 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×