Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
FIX: The Windows Common Controls Mscomctl.ocx or Comctl32.ocx may cause your application or the Visual Basic 6 IDE to unexpectedly quit, or you may receive a "Divide By Zero" error message
Article ID: 896559 - View products that this article applies to.
NoticeMainstream Support for Microsoft Visual Basic 6.0 ended on March 31, 2005. Microsoft is releasing this package that is unrelated to security because it contains improvements that were ready for release just before the end of Mainstream Support. Visual Basic 6.0 has transitioned to Extended Support, and Extended Support runs through March 31, 2008. Microsoft is not extending the Mainstream Support phase for Visual Basic 6.0 in any way.
There are two versions of the Microsoft Windows Common Controls. Comctl32.ocx contains Windows Common Controls 5.0 and was included with Microsoft Visual Studio 5.0. Mscomctl.ocx contains Windows Common Controls 6.0 and was included with Visual Studio 6.0. This hotfix fixes the following critical bugs in these controls.
Windows Common Controls 5.0: Comctl32.ocxConsider the following scenario.
Note Typically, accessibility applications that are built on Microsoft Active Accessibility set a WinEvent hook. For example, Narrator is built on Microsoft Active Accessibility. However, utilities that run on the Microsoft Windows XP Tablet PC Edition operating system also set a WinEvent hook.
Project1: Project1.exe - Application Error
The instruction at "0x202d0f51" referenced memory at "0x40000001". The memory could not be "written". Click on OK to terminate the program
Windows Common Controls 6.0: Mscomctl.ocxIf you are running an application that uses Mscomctl.ocx version 184.108.40.206 or a later version and the application contains a ListView control with the AllowColumnReorder property set to True, you receive the following error message when you try to reorder the columns:
Depending on the default debugger setup for your system, you may also receive a "0xC0000094 Divide By Zero" error message or the application may unexpectedly quit.
Project1: Project1.exe - Application Error
The instruction at "0x27618848" referenced memory at "0x016e1e90". The memory could not be "read".
Note If you run your application in the Visual Basic 6 IDE, you will also experience both of these problems.
The problem with Windows Common Controls 5.0 occurs because Comctl32.ocx tries to copy the text member of a ListView item by using a mask of LVI_IMAGE that has a NULL text member.
The problem with Windows Common Controls 6.0 occurs because of a change in version 220.127.116.11 of the Mscomctl.ocx file. Version 18.104.22.168 is included with hotfix 826287. Version 22.214.171.124 of the Mscomctl.ocx file changes the behavior of the ListView control when Visual Studio 6.0 is running on a computer that is running Windows XP or a later operating system. Most of the ImageList control calls in Mscomctl.ocx are wrappers of calls into the ImageList shell common control class that is defined in Comctl32.dll. However, the ImageList_GetImageRect method is not wrapped. This method still uses the earlier version of the ImageList structure and the earlier version of the ImageList control class that are defined in the Mscomctl.ocx file. This design causes a divide-by-zero error to occur during the column reorder operation.
Important If the application that you are running was provided to you by a third party, you may want to contact the third party that provided the application to you before you install the fix. For example, you did not develop the application yourself. If you install this fix without sufficient testing, the applications may stop functioning.
Note The enclosed fix cannot be uninstalled or removed after it is installed.
The following file is available for download from the Microsoft Download Center:
Download the Visual Basic 6.0 Common Controls package now.
Collapse this imageExpand this image
http://www.microsoft.com/downloads/details.aspx?FamilyId=25437D98-51D0-41C1-BB14-64662F5F62FEFor more information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.
(http://support.microsoft.com/kb/119591/ )How to obtain Microsoft support files from online services
A supported fix is available from Microsoft for Visual Basic 6 SP6.
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
Date Time Version Size File name ------------------------------------------------------ 18-Aug-2003 20:25 126.96.36.199 1,344,512 Comctl32.ocx 02-Nov-2004 00:16 188.8.131.52 1,064,208 Mscomctl.ocx
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
For more information, click the following article numbers to view the articles in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/827217/ )FIX: Access violation in Comctl32.ocx on Windows 2000 or later
(http://support.microsoft.com/kb/824684/ )Description of the standard terminology that is used to describe Microsoft software updates
Article ID: 896559 - Last Review: November 18, 2005 - Revision: 2.4