Меню

Компонент activex не может создать объект или возвратить ссылку для этого объекта ошибка 429

Обзор

При использовании оператора New или функции CreateObject в Microsoft Visual Basic для создания экземпляра приложения Microsoft Office, может появиться следующее сообщение об ошибке:

Ошибка выполнения ‘429’: компоненту ActiveX не удается создать объект

Эта ошибка возникает, когда запрошенный объект автоматизации не может быть создан с помощью COM и, следовательно, является недоступным для Visual Basic. Сообщение об ошибке обычно отображается на определенных компьютерах, но не другие.

Эта статья содержит советы по устранению неполадок для диагностики и устранения неполадок, вызывающих возникновение этой ошибки.

Дополнительные сведения

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

Позже, элементы предоставляют некоторые практические советы по устранению данной ошибки при работе с приложениями Office. Часть этой информации также относится к серверам Microsoft Office COM также, но в данной статье предполагается, что вы пытаетесь автоматизации Microsoft Office.

Проверка кода

Первое место, чтобы начать поиск проблемы — в коде. До устранения ошибки, необходимо знать, где произошла ошибка. Попробуйте сузить до одной строки кода.

Найдя код, который не удается, попробуйте сделать следующее:

  • Убедитесь, что в коде используется явное создание объекта. Любые проблемы проще найти и определить, если проблема сведена до отдельного действия. Например не выполните следующее:

    Application.Documents.Add 'DON'T USE THIS!!

    или:

    Dim oWordApp As New Word.Application 'DON'T USE THIS!!
    '... some other code
    oWordApp.Documents.Add

    Оба эти метода используется неявное создание объекта. Microsoft Word не начинается, пока переменная называется по крайней мере один раз. Поскольку переменная может вызываться в разных частях программы, это может сделать проблему трудно локализовать. Кроме того неясно, связана ли проблема с созданием объекта приложения или объекта документа.

    Вместо этого указать явные вызовы для создания каждого объекта в отдельности:

    Dim oWordApp As Word.Application
    Dim oDoc As Word.Document
    Set oWordApp = CreateObject("Word.Application")
    '... some other code
    Set oDoc = oWordApp.Documents.Add

    Это упрощает выявление проблемы и делает код более удобным для чтения.

  • При создании экземпляра приложения Microsoft Office, используйте вместо New CreateObject . CreateObject более точно соответствует процесс создания, используемый большинство клиентов Visual C++ и позволяет возможные изменения CLSID сервера между версиями. Функция CreateObject можно использовать с объектами с ранним связыванием и поздним связыванием.

  • Проверьте правильность строки ProgID, передаваемые CreateObject , а также является независимость от версии (то есть использовать «Excel.Application» вместо «Excel.Application.8»). Возможно, что система, которую дает сбой имеет более старой или новой версии Microsoft Office до версии, указанной в идентификатор ProgID.

  • Для упрощения отладки приложений, которые не запускаются в Интегрированной среде разработки, команда Erl сообщить номер строки, который не проходит. Например следующий код сообщит, какой объект автоматизации невозможно (Word или Excel):

    Dim oWord As Word.Application
    Dim oExcel As Excel.Application

    On Error Goto err_handler

    1: Set oWord = CreateObject("Word.Application")
    2: Set oExcel = CreateObject("Excel.Application")

    ' ... some other code

    err_handler:
    MsgBox "The code failed at line " & Erl, vbCritical

    Используйте сочетание окон сообщений и номеров строк для отслеживания ошибки.

  • Попробуйте использовать позднее связывание (то есть Dim oWordApp как объект). Объекты с ранней привязкой требуют их настраиваемые интерфейсы были переданы через границы процессов. Если маршалинг пользовательского интерфейса во время CreateObject или Создатьпроблемы, вы получите сообщение об ошибке 429. Позднее присоединенного объекта использует определенный системой интерфейс (IDispatch), не требуется настраиваемый прокси для маршалинга. Попробуйте использовать позднее присоединенного объекта для просмотра, если это делает разницу.

    Если проблема возникает только в том случае, когда объект является раннее связывание, проблема связана с серверного приложения и обычно можно исправить путем переустановки приложения (см. ниже).

  • При автоматизации из ASP или компонента MTS используйте CreateObject вместо Server.CreateObject(). Используя Server.CreateObject будет создан экземпляр приложения Office с использованием идентификатора пакета MTS, который приводит к проблемам с Microsoft Office.

Проверка сервера автоматизации

Самые распространенные причины возникновения ошибки CreateObject или New , проблем с самим приложением сервера. Как правило эти проблемы являются конфигурации или установки приложения. Ниже приведены некоторые элементы для проверки.

  • Проверьте Microsoft Office, приложение, которое требуется автоматизация установлена на локальном компьютере и убедитесь в том, что можно запустить приложение с самого начала и запустить диалоговое окно. Если программа не может быть запущена вручную, он не будет работать через автоматизацию.

  • Перерегистрируйте приложение, введя путь к серверу в начале и затем запустить диалоговое окно и затем добавить к концу строки/regserver . Нажмите кнопку ОК. Это без вмешательства пользователя необходимо запустить приложение и повторно зарегистрировать его как COM-сервер. Если неполадка связана с раздел реестра отсутствует, это обычно будет исправить.

  • Проверьте LocalServer32 в разделе CLSID для приложения, которое требуется автоматизация. Убедитесь, что он указывает на правильное расположение приложения и убедитесь, что указан путь в формате короткого пути (DOS 8.3). Хотя он не является обязательным требованием, на сервере будет зарегистрирован с помощью краткого пути, длинные имена путей, включающие пробелы известны возникновение проблем в некоторых системах (см. ниже).

    Чтобы проверить раздел пути, хранящиеся на сервере, запустите редактор реестра Windows, введя команду regedit в начале, а затем запустите диалоговое окно. Перейдите к разделу HKEY_CLASSES_ROOTClsid. В этом разделе вы найдете CLSID для зарегистрированных серверов автоматизации в системе. Позже с помощью значений, найти ключ, представляющий приложение Office требуется Автоматизация и проверьте его раздел LocalServer32 пути.

    +========================+=========================================+
    | Office Server | CLSID Key |
    +========================+=========================================+
    | Access.Application | {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9} |
    +————————+——————————————+
    | Excel.Application | {00024500-0000-0000-C000-000000000046} |
    +————————+——————————————+
    | FrontPage.Application | {04DF1015-7007-11D1-83BC-006097ABE675} |
    +————————+——————————————+
    | Outlook.Application | {0006F03A-0000-0000-C000-000000000046} |
    +————————+——————————————+
    | PowerPoint.Application | {91493441-5A91-11CF-8700-00AA0060263B} |
    +————————+——————————————+
    | Word.Application | {000209FF-0000-0000-C000-000000000046} |
    +————————+——————————————+
    Соответствует ли путь фактическое расположение файла? Имейте в виду, что в короткое имя создать впечатление, что путь указан правильно, когда он не может быть. Например Microsoft Office и Microsoft Internet Explorer (если он установлен в расположениях по умолчанию) будет иметь короткий путь «C:PROGRA~1MICROS~X» где X — некоторое число. Это не очевидно, что вы находитесь на короткое имя.

    Можно проверить правильность пути действительно скопировать значение из реестра и вставки в начало, а затем диалоговое окно Запуск (удалить переключатель/Automation до запуска приложения). Запускается ли приложение при нажатии кнопки ОК? Если Да, сервер зарегистрирован правильно. Если нет, следует заменить значение раздела LocalServer32 на правильный путь (используйте краткий путь, если это возможно).

  • Известны проблемы возникает при автоматизации Word или Excel, если шаблон Normal.dot (Word) или файл ресурсов Excel.xlb (Excel), был поврежден. Чтобы проверить, если произошло повреждение, поиск локальных жестких дисков для поиска всех экземпляров Normal.dot или *.xlb. (Обратите внимание, что при запуске Windows 2000, Windows NT или Windows 95 или Windows 98 с включенными профилями, может оказаться несколько копий этих файлов для каждого профиля пользователя в системе.) Временно переименуйте файлы Normal.dot или файлы *.xlb и повторно запустите проверку автоматизации (Word и Excel создаст эти файлы, если они не может их найти). Код теперь работать? Если Да, выберите файлы, которые вы переименовали следует удалить, так как они повреждены. Если это не так, переименуйте их обратно в их исходные имена, будут потеряны все пользовательские параметры, сохраненные в этих файлах.

  • При работе в Windows NT, Windows 2000, Windows XP или Windows Server 2003 система, запустите приложения под учетной записью администратора. Серверов Office требуется доступ на чтение и запись в реестре и на диске и могут не загружаться должным образом, если ваши текущие параметры безопасности запрещают эту привилегию.

Проверка системы

Конфигурация системы также может вызвать проблемы с созданием out-of-process COM-серверов. Ниже приведены несколько советов по проверке систем место возникновения ошибки.

  • Проблема происходит с любым сервером out-of-process? Если у вас есть приложение, которое использует только определенный COM-сервер (например, Word), вы захотите проверить на другой сервер out-of-process, чтобы убедиться, что проблема не связана с COM сам слой. Если нет out-of-process COM-сервера могут быть созданы в этой системе, переустановке системы OLE файлов (см. ниже), или для устранения этой проблемы потребуется переустановка операционной системы.

  • Проверьте номера версий системных файлов OLE, которые управляют автоматизацией. Эти файлы обычно устанавливаются как набор и должно соответствовать номера построений. Неправильно настроенная программа установки может ошибочно установить файлы по отдельности, к ним становятся несоответствие. Чтобы избежать проблем при автоматизации, следует проверять файлы, убедитесь, что файлы совпадают построений.

    Файлы автоматизации можно найти в каталоге WindowsSystem или WinntSystem32. Ниже приведен список файлов для проверки:

    +—————+————-+—————-+
    | File Name | Version | Date Modified |
    +—————+————-+—————-+
    | Asycfilt.dll | 2.40.4275 | March 08, 1999 |
    | Oleaut32.dll | 2.40.4275 | March 08, 1999 |
    | Olepro32.dll | 5.0.4275 | March 08, 1999 |
    | Stdole2.tlb | 2.40.4275 | March 08, 1999 |
    +—————+————-+—————-+
    Проверьте версию файла, щелкните правой кнопкой мыши файл в обозревателе и при выборе свойства из всплывающего меню. Наиболее важные значения, последние четыре цифры в версии файла (номер сборки) и дату последнего изменения. Необходимо убедиться, что эти значения одинаковы для всех файлов автоматизации.

    Обратите внимание, что номера версии и даты, приведенном выше, например исключительно в целях. Значения могут отличаться. Важно, что эти значения соответствуют друг другу, а не в этой таблице.

    Если файлы не соответствуют номера сборок или даты изменений, вы можете загрузить самораспаковывающийся программа обновит файлы автоматизации. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

    290887 VBRun60sp6.exe устанавливает файлы времени выполнения Visual Basic 6.0 SP6

  • Windows NT 4.0 имеет известные проблемы с запуском серверы автоматизации, которые находятся в папке, которая содержит пробелы в имени и напоминает другую папку, совпадают с первыми 8 символами. Например сервер, живущих в C:Program FilesSomeFolder может не запуститься во время вызова к CreateObject, если система называется C:Program StuffSomeFolder другую папку. Дополнительные сведения см в следующей статье базы знаний:Дополнительные сведения об этой проблеме и действия, чтобы избежать этого, щелкните следующий номер статьи базы знаний Майкрософт:

    Ошибка 185126 : COM и OLE-сервер не запускается в Windows NT 4.0

Переустановка Microsoft Office.

Если ни один из предыдущих шагов позволяет устранить проблему, рассмотрите возможность удаления и переустановки Microsoft Office. Корпорация Майкрософт рекомендует сначала удалить существующую версию, а затем переустановите с исходных установочных дисков.

Полный список удаляемых элементов можно найти в следующих статьях базы знаний:

219423 OFF2000: как полностью удалить Microsoft Office 2000

158658 OFF97: как полностью удалить Microsoft Office 97

Ссылки

Дополнительные сведения об устранении неполадок при сообщении об ошибке ‘429’ щелкните следующий номер статьи базы знаний Майкрософт:

240377 HOWTO: Убедитесь в правильности установки Jet 3.5 (часть I)
Последние сведения и примеры кода по автоматизации Microsoft Office можно найти на сайте поддержки Microsoft Online по:

http://support.microsoft.com/ofd

Icon Ex Номер ошибки: Ошибка 429
Название ошибки: Runtime error ‘429’: ActiveX component can’t create object
Описание ошибки: Runtime error ‘429’: ActiveX component can’t create object. A common ActiveX error is Runtime Error 429, which usually occurs when an ActiveX component can’t create an object. It also occurs when a DLL file is corrupt or missing from your system.
Разработчик: Microsoft Corporation
Программное обеспечение: ActiveX
Относится к: Windows XP, Vista, 7, 8, 10, 11

Сводка «Runtime error ‘429’: ActiveX component can’t create object

«Runtime error ‘429’: ActiveX component can’t create object» часто называется ошибкой во время выполнения (ошибка). Разработчики тратят много времени и усилий на написание кода, чтобы убедиться, что ActiveX стабилен до продажи продукта. Поскольку разработчики программного обеспечения пытаются предотвратить это, некоторые незначительные ошибки, такие как ошибка 429, возможно, не были найдены на этом этапе.

Пользователи ActiveX могут столкнуться с ошибкой 429, вызванной нормальным использованием приложения, которое также может читать как «Runtime error ‘429’: ActiveX component can’t create object. A common ActiveX error is Runtime Error 429, which usually occurs when an ActiveX component can’t create an object. It also occurs when a DLL file is corrupt or missing from your system.». Когда это происходит, конечные пользователи могут сообщить Microsoft Corporation о наличии ошибок «Runtime error ‘429’: ActiveX component can’t create object». Затем Microsoft Corporation нужно будет исправить эти ошибки в главном исходном коде и предоставить модифицированную версию для загрузки. Чтобы исправить любые документированные ошибки (например, ошибку 429) в системе, разработчик может использовать комплект обновления ActiveX.

В чем причина ошибки 429?

Сбой во время выполнения ActiveX, как правило, когда вы столкнетесь с «Runtime error ‘429’: ActiveX component can’t create object» в качестве ошибки во время выполнения. Вот три наиболее заметные причины ошибки ошибки 429 во время выполнения происходят:

Ошибка 429 Crash — Ошибка 429 остановит компьютер от выполнения обычной программной операции. Как правило, это результат того, что ActiveX не понимает входные данные или не знает, что выводить в ответ.

Утечка памяти «Runtime error ‘429’: ActiveX component can’t create object» — если есть утечка памяти в ActiveX, это может привести к тому, что ОС будет выглядеть вялой. Возможные провокации включают отсутствие девыделения памяти и ссылку на плохой код, такой как бесконечные циклы.

Ошибка 429 Logic Error — логическая ошибка возникает, когда компьютер генерирует неправильный вывод, даже если пользователь предоставляет правильный ввод. Это видно, когда исходный код Microsoft Corporation содержит недостаток в обработке данных.

Такие проблемы Runtime error ‘429’: ActiveX component can’t create object обычно вызваны повреждением файла, связанного с ActiveX, или, в некоторых случаях, его случайным или намеренным удалением. Возникновение подобных проблем является раздражающим фактором, однако их легко устранить, заменив файл Microsoft Corporation, из-за которого возникает проблема. Помимо прочего, в качестве общей меры по профилактике и очистке мы рекомендуем использовать очиститель реестра для очистки любых недопустимых записей файлов, расширений файлов Microsoft Corporation или разделов реестра, что позволит предотвратить появление связанных с ними сообщений об ошибках.

Распространенные сообщения об ошибках в Runtime error ‘429’: ActiveX component can’t create object

Общие проблемы Runtime error ‘429’: ActiveX component can’t create object, возникающие с ActiveX:

  • «Ошибка Runtime error ‘429’: ActiveX component can’t create object. «
  • «Ошибка программного обеспечения Win32: Runtime error ‘429’: ActiveX component can’t create object»
  • «Возникла ошибка в приложении Runtime error ‘429’: ActiveX component can’t create object. Приложение будет закрыто. Приносим извинения за неудобства.»
  • «К сожалению, мы не можем найти Runtime error ‘429’: ActiveX component can’t create object. «
  • «Runtime error ‘429’: ActiveX component can’t create object не найден.»
  • «Ошибка запуска программы: Runtime error ‘429’: ActiveX component can’t create object.»
  • «Runtime error ‘429’: ActiveX component can’t create object не работает. «
  • «Runtime error ‘429’: ActiveX component can’t create object остановлен. «
  • «Ошибка пути программного обеспечения: Runtime error ‘429’: ActiveX component can’t create object. «

Ошибки Runtime error ‘429’: ActiveX component can’t create object EXE возникают во время установки ActiveX, при запуске приложений, связанных с Runtime error ‘429’: ActiveX component can’t create object (ActiveX), во время запуска или завершения работы или во время установки ОС Windows. Запись ошибок Runtime error ‘429’: ActiveX component can’t create object внутри ActiveX имеет решающее значение для обнаружения неисправностей электронной Windows и ретрансляции обратно в Microsoft Corporation для параметров ремонта.

Причины ошибок в файле Runtime error ‘429’: ActiveX component can’t create object

Эти проблемы Runtime error ‘429’: ActiveX component can’t create object создаются отсутствующими или поврежденными файлами Runtime error ‘429’: ActiveX component can’t create object, недопустимыми записями реестра ActiveX или вредоносным программным обеспечением.

Особенно ошибки Runtime error ‘429’: ActiveX component can’t create object проистекают из:

  • Недопустимая или поврежденная запись Runtime error ‘429’: ActiveX component can’t create object.
  • Зазаражение вредоносными программами повредил файл Runtime error ‘429’: ActiveX component can’t create object.
  • Вредоносное удаление (или ошибка) Runtime error ‘429’: ActiveX component can’t create object другим приложением (не ActiveX).
  • Другое приложение, конфликтующее с Runtime error ‘429’: ActiveX component can’t create object или другими общими ссылками.
  • Неполный или поврежденный ActiveX (Runtime error ‘429’: ActiveX component can’t create object) из загрузки или установки.

Продукт Solvusoft

Загрузка
WinThruster 2022 — Проверьте свой компьютер на наличие ошибок.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

My company has a VB6 application using Crystal Reports 7 which a client has asked to be installed on Windows 7 32 bit. It is currently installed on Windows XP 32bit SP2 machines at the client. Connection to the DB is done via ODBC to SQL Server 2000 instance on another server.

On Windows 7, the installation works fine, however when you try to open the application, the error is given.

I have looked at the following:

  • Registering all the dll’s and ocx files using regsvr32. Some will not register as they either are registered already or the following message is given «Make sure that «[name].dll» is valid DLL or OCX file and then try again.» I read this forum thread regarding this: http://social.msdn.microsoft.com/forums/en-US/vblanguage/thread/0653f685-4526-45d9-89f3-8c479a6b4c62
  • Monitored the opening of the application using a ProcessMonitor application to try and spot if there is a missing dll or ocx file — this does not seem to be the case.
  • Reviewed the application according to this list and nothing seems to be against these guidelines

I’ve noticed two items in the knowledge base that relate to this

  • http://support.microsoft.com/kb/281848 — the comdlg32.ocx bundled with the application is version 6.0.81.69 and the one in the system32 folder on the dev machine (WinXP 32 bit) is 6.1.97.82. However if this was the issue then surely it would not work currently?
  • http://support.microsoft.com/kb/184898 — I’m not sure how to confirm that this is the issue

Finally, due to complexities, I am not allowed to make code changes to this application. Even if I was, I’m not a VB6 programmer, just the guy who got the terribly support project! If code changes are required, then I’ll have to investigate using WinXP mode.

Update: I get the same error in XP Mode. That’s a Win XP with SP3 VM. This runs on a Win XP SP2 VM, is there potentially something in SP3 that would have caused this to occur? Or is it just a fact of it being XP Mode?

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Композиционные ошибки начинающих фотографов
  • Композитор работа над ошибками