VB6 + компонент один разработал приложение в Windows7 - PullRequest
1 голос
/ 03 сентября 2010

Это вопрос устранения неполадок.

Среда разработки нашего приложения - VS2005 C / C ++, графический интерфейс на основе VB6.

мы также используем componentone для управления ActiveX (vsflexgrid8).

*Приложение 1006 * хорошо работало в Windows XP, но в Windows 7 есть некоторая проблема в графическом интерфейсе.

пересобрал почти весь код C / C ++ и VB6 в Windows 7

  • наша система сборки настолько плоха, и поскольку я присоединился к этой команде месяц назад, сборка всех кодов довольно сложна

  • Но эта (может быть) последняя проблема не связана со сборкой,Я думаю.

все остальные процессы и процессы GUI запускаются хорошо.но если щелкнуть какое-либо меню в графическом интерфейсе, все пользовательские элементы управления становятся недействительными.

сообщение об ошибке выглядит следующим образом:

'- 2147417848 (80010108)' произошла ошибка времени выполнения.

Ошибка автоматизации.

Активированный объект отключен от клиента.

вышеупомянутое сообщение не идентично реальному сообщению, поскольку реальное сообщение - это наш родной язык (корейский).

При поиске в этом сообщении я могу собрать некоторую информацию.

Наиболее вероятный случай - использование OLE-автоматизации для объектов Microsoft Office.

Но наш графический интерфейс (разработанный VB6) делаетне использовать объекты Microsoft Office.

А вызывающие проблемы страницы / элементы управления обычно используют компоненты-компоненты.

Так что, если у вас возникли похожие проблемы, пожалуйста, помогите мне.

В ВиртуальномМашина в режиме Windows XP, проблем нет.Но я очень хочу развиваться в этой среде.

Спасибо за вашу помощь.

Ответы [ 3 ]

1 голос
/ 04 сентября 2010

«Ошибка автоматизации» означает, что ошибка возникла из-за элемента управления ActviveX, но разработчики не добавили описание к нему. Так что причиной может быть что угодно. Распространенным источником ошибок такого рода являются ошибки записи в защищенную папку (например, в папку «Program Files») или запрещенные действия чтения / записи реестра. Вы можете попробовать установить программу в другое место или запустить ее с повышенными правами.

Надеюсь, это поможет хоть немного.

0 голосов
/ 16 сентября 2010

Я решил эту проблему с помощью обновлений Windows.

Поскольку выполняется около 20-30 обновлений одновременно, я не знаю, какое обновление решает эту проблему.

Я полагаю, что причиной этой проблемы могут быть обновления безопасности Visual Studio 2005.

В любом случае, мое приложение хорошо работает на моем компьютере с Windows 7.

Спасибо всем.

0 голосов
/ 04 сентября 2010

Как говорит Дабблер, это означает, что произошла ошибка в компоненте ActiveX.

  • Выполняется ли какой-либо код C или C ++ до появления этой ошибки?
  • Используете ли вы последнюю версию элемента управления ComponentOne?Возможно, стоит проверить, поддерживается ли он в Windows 7, и обратиться к его технической поддержке?
  • Вы можете отлаживать VB6 и C / C ++ в Windows 7, чтобы отследить, какой фрагмент кода вызывает эту проблему.Это возможно с Visual Studio 2005, которая, как вы говорите, у вас есть, или с WinDbg, которая бесплатна.
...