Используя ImageList из приложения VB6 вызывает катастрофический отказ в 64-разрядном Windows 7.0

Я использовал вышеуказанную команду, но она не работала. Эта команда работала для меня:

python -m pip uninstall pip setuptools
6
задан Joel Spolsky 19 June 2009 в 17:46
поделиться

5 ответов

Я решил эту проблему, заменив все экземпляры COMCTL32.OCX, которые поставлялись с VB5, на MSCOMCTL.OCX, которые поставлялись с VB6.

Статья базы знаний Microsoft 190952 есть инструкции для этого. Это была всего лишь операция глобального поиска и замены.

9
ответ дан 8 December 2019 в 16:09
поделиться

Сообщите об ошибке в Microsoft. Среда выполнения VB6 по-прежнему поддерживается в 64-битной Windows 7. COMCTL32.ocx не устанавливается с Windows 7, но явно указан как поддерживаемый в Windows 7.

2
ответ дан 8 December 2019 в 16:09
поделиться

Возможно, вы столкнулись с проблемой с защитой выполнения данных (DEP). Проверьте это, отключив DEP:

bcdedit.exe /set {current} nx AlwaysOff

Перезагрузитесь после ввода вышеуказанного в командной строке. Не забудьте снова включить его, так как это эквивалентно запуску Windows со спущенными штанами.

Изменить: приведенная выше команда работает в Vista. Я не пробовал в Windows 7.

1
ответ дан 8 December 2019 в 16:09
поделиться

Менее радикальная настройка DEP - войти в диалоговое окно производительности компьютеров (расширенная вкладка свойств системы) и добавить приложения exe в список исключений на вкладке DEP.

Кстати, вы уверены, что это не относится к serverfault.com. : P

1
ответ дан 8 December 2019 в 16:09
поделиться

Ваше решение в порядке. Но COMCTL32.OCX в любом случае должен нормально работать на Win64 (Vista или 7).

Небольшой совет:

При использовании MSCOMCTL.OCX вы не сможете применить к вашему listview или treeview стиль XP/Vista/7 и ваше приложение может выглядеть чужеродно. Manifest не будет иметь никакого эффекта на элементы управления MSCOMCTL.OCX.

Обходным решением может быть подкласс элементов управления MSCOMCTL.OCX, и поскольку они все еще содержат заголовок COMCTL32.DLL, вы можете манипулировать тем, как он рисует.

(Я бы опубликовал как комментарий, но я все еще не могу)

2
ответ дан 8 December 2019 в 16:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: