VBStreets конференция
Целият вкус на програмирането!
- Списък на форумите‹Знание‹База знания на VBStreets
- Променете размера на шрифта
- За печат
- ЧЗВ
- вход
KB896559: Най-новото FIX за общи контроли
KB896559: Най-новото FIX за общи контроли
СИМПТОМИ
Има две версии на Microsoft Windows Common Controls. Comctl32.ocx съдържа Windows Common Controls 5.0 и се разпространява с Microsoft Visual Studio 5.0. Mscomctl.ocx съдържа Windows Common Controls 6.0 и е включен в Visual Studio 6.0. Тази актуална корекция коригира следните критични грешки в тези файлове.
Общи контроли на Windows 5.0: Comctl32.ocx
В случай на следния ход на събитията:
- изпълнява се приложение, което инсталира куката WinEvent в Microsoft Windows 2000 или по-нова версия
- стартирате приложение, използвайки контрола ListView или TreeView от Microsoft Windows Common Controls 5.0
-
Project1: Project1.exe - Грешка в приложението
Инструкцията в "0x202d0f51" препраща към паметта на "0x40000001". Паметта не може да бъде „записана“. Щракнете върху OK, за да прекратите програмата
Общи контроли на Windows 6.0: Mscomctl.ocx
Ако изпълнявате приложение, което използва Mscomctl.ocx версия 6.1.97.64 или по-нова, това приложение използва ListView, който има свойството AllowColumnReorder, зададено на True, при опит за пренареждане на колоните ListView възниква следната грешка:
-
Project1: Project1.exe - Грешка в приложението
Инструкцията в "0x27618848" препраща към паметта при "0x016e1e90". Паметта не може да бъде „прочетена“.
В зависимост от инсталирания в системата дебъгер по подразбиране, може също да получите грешка "0xC0000094 Разделяне по нула" или неочаквано прекратяване на приложението.
Забележка Когато работите под IDE, изброените проблеми също се появяват.
ПРИЧИНА
Възниква проблем с Windows Common Controls 5.0, защото Comctl32.ocx се опитва да копира текста, свързан с ListView, използвайки маската LVI_IMAGE, а текстовият указател е NULL.
Проблемът с Windows Common Controls 6.0 се дължи на промени в Mscomctl.ocx версия 6.1.97.64. Версия 6.1.97.64 е включена в актуалната корекция 826287. Това променя поведението на контрола ListView, когато Visual Studio 6.0 работи на компютър, работещ под Windows XP или по-нова операционна система. Повечето от методите на ImageList елемент в Mscomctl.ocx са обвивки около извиквания към системния клас ImageList, описан в Comctl32.dll. За метода ImageList_GetImageRect обаче не е създадена обвивка. Този метод все още използва по-ранната версия на структурата ImageList и по-ранната версия на класа ImageList, които са дефинирани във файла Mscomctl.ocx. Този дизайн причинява деление на нула грешка при промяна на реда на колоните.
РЕШЕНИЕ
Важно Ако приложението, което използвате, е предоставено от трета страна, трябва да се свържете с тях, преди да инсталирате корекцията (например, ако не сте разработили приложението сами). Ако инсталирате корекция без подходящо тестване, приложението може да спре да функционира.
Забележка Приложената корекция не предвижда възможността за деинсталиране след инсталиране.
За повече информация относно изтеглянето на файлове за поддръжка на Microsoft вижте следната статия в базата знания на Microsoft:
119591 Как да получите файлове за поддръжка на Microsoft от онлайн услуги
ДЪРЖАВА
Microsoft потвърди, че това е проблем в продуктите на Microsoft, изброени в раздела „Отнася се за“ по-долу.
ПРИЛОЖИМ ЗА
- Microsoft Visual Basic 6.0 Professional Edition
- Microsoft Visual Basic 6.0 Enterprise Edition
- Microsoft Visual Studio 6.0 Enterprise Edition
- Нестандартни теми за корпоративно събитие в природата - поръчайте сценарий за корпоративно събитие в Санкт Петербург
- Консултация по темата Консултация за педагози - quot; Куклен театър в детската градина - quot,
- Motor Master Club - Вижте темата - Таблото с инструменти не работи след фърмуера (Priora Bosch ME17)
- Младежки форум! Виж темата - ловкост срещу сила
- Консултация по темата Препоръки за родители