ИСПРАВЛЕНИЕ: Mscomctl.ocx общих элементов управления Windows или Comctl32.ocx может привести к приложению или в интегрированной среде разработки Visual Basic 6 неожиданно завершает работу или может появиться сообщение об ошибке «Деление на ноль»

Код статьи: 896559 - Список продуктов, к которым относится данная статья.
Внимание
Завершение основной фазы поддержки для Microsoft Visual Basic 6.0 закончилась 31 марта 2005 г. Корпорация Майкрософт выпускает это пакет, не связаны с безопасностью, так как оно содержит улучшения, которые были готовы для выпуска до конца основной фазы поддержки. Visual Basic 6.0 перешла к расширенной поддержки и расширенной поддержки выполняется до 31 марта 2008 г. Корпорация Майкрософт не продлевает этап основной фазы поддержки для Visual Basic 6.0 никоим образом.
Развернуть все | Свернуть все

На этой странице

Проблема

Существуют две версии стандартных элементов управления Microsoft Windows. Comctl32.ocx содержит 5.0 общих элементов управления Windows и поставляется вместе с Microsoft Visual Studio 5.0. Mscomctl.ocx содержит 6.0 Общие элементы управления Windows и поставляется вместе с Visual Studio 6.0. Данное исправление устраняет следующие критических ошибок в этих элементах управления.

Общие элементы управления Windows 5.0: Comctl32.ocx

Рассмотрим следующую ситуацию.
  • При запуске приложения, которое устанавливает обработчик "диктора" для Microsoft Windows 2000 или более поздней версии операционной системы.
  • Запустите приложение, использующее ListView элемент управления или TreeView Управление из 5.0 распространенных элементов управления Microsoft Windows.
В этом случае приложение может аварийно завершить работу или может появиться сообщение об ошибке, подобное следующему:
Project1: Project1.exe - ошибка приложения
Инструкция по «0x202d0f51» обратилась к памяти по адресу «0x40000001». Память не может «записать». Нажмите кнопку ОК для завершения программы
Примечание Как правило приложения специальных возможностей, которые строятся на основе Microsoft Active Accessibility задать ловушка "диктора". Например «Экранный диктор» построена на Microsoft Active Accessibility. Тем не менее служебных программ, выполняемых в операционной системе Microsoft Windows XP Tablet PC Edition также установить обработчик "диктора".

Общие элементы управления Windows 6.0: Mscomctl.ocx

Если приложение использует Mscomctl.ocx версии 6.1.97.64 или более поздней версии и содержит приложение ListView Управление с помощью AllowColumnReorder свойству присвоено значение Значение true, появится следующее сообщение об ошибке при попытке изменить порядок столбцов:
Project1: Project1.exe - ошибка приложения
Инструкция по «0x27618848» обратилась к памяти по адресу «0x016e1e90». Память не может быть «read».
В зависимости от настройки по умолчанию отладчик для вашей системы также может появиться сообщение об ошибке «0xC0000094 деление на ноль» или приложение неожиданно завершает работу.

Примечание Если приложение запущено в интегрированной среде разработки Visual Basic 6, также будет испытывать обе эти проблемы.

Причина

5.0 Общих элементов управления Windows происходит потому, что Comctl32.ocx пытается скопировать текст членом ListView элемент с помощью маски LVI_IMAGE, имеющий НУЛЕВОЙ элемент текста.

Проблема с 6.0 Общие элементы управления Windows возникает из-за изменений в файл Mscomctl.ocx версии 6.1.97.64. Версия 6.1.97.64 включено исправление 826287. Файл Mscomctl.ocx версии 6.1.97.64 изменяет поведение элемента ListView элемент управления, при запуске Visual Studio 6.0 на компьютере под управлением Windows XP или более поздней версии операционной системы. Большая часть ImageList управление вызовами в Mscomctl.ocx являются оболочками вызовов в ImageList оболочка класса общего элемента управления, определенный в Comctl32.dll. Тем не менее ImageList_GetImageRect метод не переносится. Этот метод по-прежнему использует более раннюю версию ImageList Структура и более ранней версии ImageList класс элемента управления, который определен в файле Mscomctl.ocx. Этот конструктор вызывает ошибку деления на ноль возникает во время операции переупорядочивания столбца.

Решение

Важные Третьей стороной для вам был предоставлен, на котором выполняется приложение, необходимо обратиться к третьей стороне, предоставившим приложение, перед установкой исправления. Например была не разработка приложения самостоятельно. Если установить исправление без достаточных тестирование приложений могут перестать работать.

Примечание Замкнутые исправление не может быть удален или удалена после установки.

Следующий файл доступен для загрузки из центра загрузки Майкрософт:
Свернуть это изображениеРазвернуть это изображение
Загрузить
Загрузите пакет для общих элементов управления Visual Basic 6.0.
http://www.Microsoft.com/downloads/details.aspx?FamilyId = 25437D98-51 D 0-41 C 1-BB14-64662F5F62FE
Для получения дополнительных сведений о том, как загрузить файлы поддержки Майкрософт щелкните следующий номер статьи базы знаний Майкрософт:
119591 Как загрузить файлы поддержки Майкрософт из Интернета
Корпорация Майкрософт проверила этот файл на наличие вирусов. Корпорация Майкрософт использует последние версии антивирусного программного обеспечения на дату публикации файла. Файл хранится на защищенных серверах, что предотвращает несанкционированное изменение файла.

Исправление от корпорации Майкрософт для Visual Basic 6 SP6.
Английская версия исправления содержит атрибуты файла (или более поздними), приведенные в следующей таблице. Дата и время для файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, следует использовать Часовой пояс вкладку Дата и время на панели управления.
   Date         Time   Version    Size       File name
   ------------------------------------------------------
   18-Aug-2003  20:25  6.0.81.6   1,344,512  Comctl32.ocx     
   02-Nov-2004  00:16  6.1.97.86  1,064,208  Mscomctl.ocx     

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Microsoft, перечисленных в разделе «Относится к».

Дополнительная информация

Для получения дополнительных сведений щелкните следующие номера статей базы знаний Майкрософт:
827217ИСПРАВЛЕНИЕ: Нарушение прав доступа в Comctl32.ocx в Windows 2000 или более поздней версии
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Свойства

Код статьи: 896559 - Последнее изменение :: 19 июня 2011 г. - Редакция: 4.0
Информация в данной статье относится к следующим продуктам.
Ключевые слова: 
kbqfe kbvs600sp6 kbpending kbbug kbmt KB896559 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:896559

Отправить отзыв