Исправление: Mscomctl.ocx общих элементов управления Windows или Comctl32.ocx может вызвать приложение или Интегрированной среде разработки Visual Basic 6 неожиданно завершает работу, или может появиться сообщение об ошибке «Деление на нуль»

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 896559
Внимание
Основная фаза поддержки для Microsoft Visual Basic 6.0 закончилась 31 марта 2005 года. Корпорация Майкрософт выпускает исправления, не связанный с безопасностью, так как оно содержит улучшения, которые были готовы для выпуска только до конца основной поддержки. Visual Basic 6.0 перешел к расширенной поддержки и расширенной поддержки выполняется до 31 марта 2008 г. Корпорация Майкрософт не является Расширение на этапе основной поддержки для Visual Basic 6.0 каким-либо образом.
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Проблема
Существуют две версии общих элементов управления 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 или более поздней версии операционной системы.
  • При запуске приложения, использующего элемент управления TreeView , от общих элементов управления Microsoft Windows 5.0 или в элементе управления ListView .
В этом случае приложение может аварийно завершить работу или может появиться сообщение об ошибке, подобное приведенному ниже:
Проект1: 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, появляется следующее сообщение об ошибке при попытке изменить порядок столбцов:
Проект1: Project1.exe - ошибка приложения
Инструкция по «0x27618848» обратилась к памяти по адресу «0x016e1e90». Память может не быть прочитана.
В зависимости от настройки отладчика по умолчанию для компьютера появляется сообщение об ошибке «0xC0000094 делению на ноль» или приложение может аварийно завершить работу.

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

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

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

Следующий файл доступен для загрузки из Центра загрузки Майкрософт:
ЗагрузитьЗагрузите пакет Visual Basic 6.0 Общие элементы.Дополнительные сведения о том, как загрузить файлы поддержки Майкрософт, см. в следующей статье базы знаний Майкрософт:
119591 Как загрузить файлы поддержки Microsoft через оперативные службы
Корпорация Майкрософт проверила этот файл на наличие вирусов. Корпорация Майкрософт использует последние антивирусные программы на дату, которая была учтена в файл. Файл хранится на защищенных серверах, что предотвращает внесение несанкционированных изменений в файл.

Исправление от корпорации Майкрософт для Visual Basic 6 SP6.
Английская версия данного исправления содержит атрибуты файла (или более поздними), приведенные в следующей таблице. Дата и время для этих файлов указаны в UTC. При просмотре сведений о файле, оно преобразуется в локальное время. Чтобы выяснить разницу между временем 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     

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

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 896559 — последний просмотр: 12/09/2015 02:21:39 — редакция: 6.0

Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Studio 6.0 Enterprise Edition

  • kbnosurvey kbarchive kbqfe kbvs600sp6 kbpending kbbug kbmt KB896559 KbMtru
Отзывы и предложения