Visual Studio 6 Windows Common Controls 6.0 (sp6) Windows 7, 64 бит
Мне предложили помочь работать с устаревшим приложением vb6 для кого-то, поэтому я решил бросить Visual Studio 6 на свой ноутбук под управлением Windows 7 x64 после это руководство.
Он установлен отлично, и я вижу, что все работает, кроме Microsoft Windows Common Controls 6.0 (sp6). Microsoft Windows Common Controls-2 6.0 (sp6), Microsoft Windows Common Controls 5.0 (sp2) и т.д. Все работает нормально. Однако, когда я пытаюсь добавить компонент Microsoft Windows Common Controls 6.0 (sp6), я получаю сообщение об ошибке:
'' could not be loaded
Я не мог добавить изображение, поэтому я загрузил снимок экрана для всех, кто хочет его увидеть точно:
![http://i.imgur.com/7aym4xB.png]()
Я пробовал регистрировать/не регистрировать/перерегистрировать MXCOMCTL.OCX, MSCOMCT2.OCX, msdatsrc.tlb без всяких успехов. Я также удалил известное обновление для системы безопасности, которое может вызвать проблемы с Windows Common Controls. Я удалил IE11, хотя состояние отчетов IE11 не вызовет проблем с MSCOMCTL.OCX, как это сделал IE10.
Я запускаю VB6.EXE в режиме совместимости Windows XP SP3. С помощью Отключить визуальные темы, Отключить композицию рабочего стола и Отключить масштабирование дисплея при высоких настройках DPI. Также запустите его как администратор.
Я также попытался открыть предыдущий проект, который использует этот элемент управления, и он терпит неудачу во время загрузки с той же "пустой" ошибкой, что и на скриншоте с приведенным ниже в журнале ошибок:
Строка 35: Класс MSComctlLib.ListView управления lvData не был загруженным классом управления.
Строка 223: класс MSComctlLib.StatusBar управления Stat не был загруженным классом управления.
Итак, это говорит о том, что это не проблема с версией в .vbp, как некоторые предлагают (как это происходит и с новыми пустыми проектами).
Я нахожусь в конце. По-видимому, люди получили как VB6, так и Windows 7 x64 для правильной работы (с помощью Windows Common Controls), но НИЧЕГО Я не пытался решить мою проблему. Я надеюсь, что кто-то здесь может столкнуться с этим, или у вас есть идеи относительно того, что происходит.
Ответы
Ответ 1
В ожидании ответа на идеи здесь я решил попробовать что-то. Я запустил regedit как администратор, перешел к ключу HKEY_CLASSES_ROOT\TypeLib, а затем выполнил поиск по "MSCOMCTL.OCX"... Я удалил ключ EVERY, который ссылался на этот файл .ocx.
После поиска всего реестра, удалив найденное, я запустил командную строку в качестве администратора. Затем я перешел к C:\Windows\SysWOW64 и набрал следующие команды:
regsvr32 MSCOMCTL.OCX
regtlib msdatsrc.tlb
После регистрации этих двух файлов снова все работает! Я прочесывал веб-сайт, чтобы ЧАСЫ искали это решение безрезультатно. Это так случилось, я исправил его сам после публикации вопроса здесь:( Даже если Visual Studio 6 устарел, надеюсь, это может помочь другим!
Ответ 2
Реализация двух директив, которые уже работали для меня из "C:\Windows\SysWOW64"
regsvr32 MSCOMCTL.OCX
regtlib msdatsrc.tlb
Стоит отметить, что поле DOS должно находиться в режиме администратора. До этого у меня были ошибки в вене. Класс MSComctlLib.TreeView управления tvTreeView не был загруженным классом управления "и" Класс MSComctlLib.ListView управления lvListView не был загруженным классом управления ".
Я также использую Visual Studio 6 на 64-битной Windows 7 с обновлениями SP6. Из-за той же проблемы меня остановили. В моем случае мне не нужно было проходить через реестр.
Ответ 3
У меня была такая же проблема с загрузкой моего проекта VB 6. Вот пример сообщения об ошибке:
"Класс MSComctlLib.ProgressBar управления prgExecution не был загруженным классом управления".
Эта проблема была решена некоторыми Microsoft Magic следующим образом: я открыл окно "Компоненты проекта" в моем сломанном проекте. Я нажал кнопку Обзор и нашел файл MsComctl.ocx. Я нажал ОК. Затем VB 6 застрял (приложение не реагирует). Через некоторое время я закончил приложение VB 6, используя диспетчер задач.
Затем, по волшебству, когда я открыл свой проект VB 6, чтобы показать своему другу-программисту, что такое POS-проект, все элементы управления были возвращены, как и ожидалось. Так или иначе, что-то было зарегистрировано или исправлено.
Ответ 4
Только сегодня у меня было (сомнительное) удовольствие получить код VB6, запущенный на Windows/64 Bit. Я столкнулся с этой проблемой, но ни один из предлагаемых решений не работал у меня.
Не работали с добавлением ссылок, используя меню "Проект → Ссылки...".
Чтобы запустить его, мне пришлось вручную изменить файл проекта VB6 (*.vbp).
Для всех библиотек у меня была проблема с загрузкой, и я должен был использовать следующую нотацию для определения в качестве ссылки:
Object = {Ключ реестра} # Версия # 0; LIBRARY.OCX
Пример:
Объект = {FAEEE763-117E-101B-8933-08002B2F4F5A} # 1.1 # 0; DBLIST32.OCX
Мне не пришлось регистрировать ни одну из библиотек (используя regsvr32), все они были уже правильно зарегистрированы. Я думаю, почему мое решение работает, если используется нотация "object = {[...]" (вместо обозначения "Reference = *\G {[...]" ). В VB Studio используется только ключ реестра и уходит корнями в C:\Windows\SysWOW64, в то время как другой путь заканчивается поиском в C:\Windows\System32
Кстати, установлен IE11. Независимо от того, имеет ли это значение, может знать только Билл Г. Я предполагаю, что мое решение работает независимо от того, какой IE установлен. Возможно, вам придется отменить регистрацию и зарегистрировать недостающие библиотеки, как указано в этом потоке.
Надеюсь, что это поможет любому, кто сталкивается с подобными проблемами.
Ответ 5
Я искал эту проблему часами и нажимал на сотни веб-сайтов, ни одна из них не работала.
Мое окончательное решение:
- запуск: CMD
- cd c:\Windows\SysWOW64 (найдите место)
- regsvr32 MSCOMCTL.OCX
это решает первый. Для второго:
- run: cmd
- cd c:\Windows\Microsoft.NET\Framework\v4.0.30319
- regtlibv12 msdatsrc.tlb
сделано.
это может не работать для всех (с учетом причины версии системы и т.д.)
Ответ 6
ПРОСТОЕ РЕШЕНИЕ
- Создайте новый пустой проект и сохраните его
- используя NOTEPAD, откройте VBP нового проекта и скопируйте строку MSCOMCTL
- используя NOTEPAD, откройте файл .VBP вашего проекта.
- замените строку MSCOMCTL и сохраните ее
DONE
удача
Ответ 7
У меня возникла проблема, при которой VB6 IDE не загружал общие элементы управления (Sp6) с установкой VB6 на W7 64 бит, в частности, comctrl и msmask. Я пробовал все предлагаемые решения с помощью regsrv32 (повышен), редактировал реестр, менял номер версии в vbp и т.д., Как это было предложено MS и другими. Все провалилось. Эти решения работали на моих других 2 PCS, но не на этом. В конце концов я удалил IE11, и после этого все работало правильно. IE10 никогда не был установлен на этом ПК - мы перешли от IE8 к IE11 и были вынуждены вернуться к использованию IE8.
Я должен сказать, что приведенное выше простое решение не решает проблему, которая заключается в том, что VB6 IDE не будет загружать общие элементы управления (используя меню "Компоненты" в разделе "Проект" ) - вы получаете сообщение об ошибке "Не загружаемый объект". Так что это произойдет (и я доказал это сам) в любом проекте, новом или старом, который пытается использовать тезисные общие элементы управления, которые не будут загружаться.
Итак, мое предложение всем, у кого есть эта проблема, - попробовать ручное регистрационное решение с использованием маршрута regsrv32, а затем изменить vbp для изменения версии и если они не удалили IE11 (и defintely IE10). Но это все равно не может быть 100% -ным решением, потому что, если ваши существующие файлы проекта ".vbp" содержат ссылки на неправильные общие элементы управления, вам необходимо исправить это вручную - здесь загружается новый проект, загружая компоненты, которые вам нужны в среде IDE, затем отредактируйте новое создание vbp с помощью блокнота и скопируйте номера версий для общих элементов управления в существующие файлы vbp.
Ответ 8
= > только что сказал Джей, просто удалите те записи реестра, которые указывают на другие пути, отличные от c:\windows\system32. Это преступники ошибки. Я получил эти ошибки в своей IDE vb6 и после удаления этих аномальные записи в реестре проблема была исправлена. работает как шарм.
Ответ 9
Я полагаю, что это может быть связано с проблемой, в которой Microsoft выпустила обновление для MScomCtlLib, которое было неправильно исправлено с помощью Microsoft, что вызвало ошибки реестра.
Я верю, что если вы последуете совету, изложенному в:
https://support.microsoft.com/fr-fr/kb/2597986
Ответ 10
У меня такая же проблема, но при запуске regsvr32 MSCOMCTL.OCX появляется ошибка ниже ошибки
Был загружен модуль "MSCOMCTL.OCX", но вызов DllRegisterServer завершился с кодом ошибки 0x8002801c.
Когда я запускаю CMD.EXE в качестве администратора, он решил мою проблему.
Некоторым временам VB6.EXE также нужно o запускать как администратор для доступа к некоторым проблемам реестра.
Удачи.