Рейтинг:
2
Maciej Los
Взгляните сюда: Компонент ActiveX не может создать объект или вернуть ссылку на этот объект (ошибка 429)[^]
Там вы найдете наиболее распространенные причины вышеуказанной ошибки.
[РЕДАКТИРОВАТЬ]
Прежде чем вы начнете что-то менять, пожалуйста, прочтите это:
Как проверить и удалить неправильные ссылки на проекты в Редакторе Visual Basic в Word[^] - не важно, что эта тема касается MS Word, редактор VBA тот же самый
Проверьте или добавьте ссылку на библиотеку объектов[^]
Попробуйте изменить свой код в нижеприведенную форму, чтобы узнать, что произошло.
'this should be declared on the beggining of module
Option Explicit
'your soubroutine
Sub CheckMyObject
Dim objProd as ProductoTemporal
On Error Goto Err_CheckMyObject
Set objProd = New ProductTemporal
MsgBox "Object 'ProductTemporal' has been successfully created!", vbOkOnly, "Success!"
Exit_CheckMyObject:
On Error Resume Next
Set objProd = Nothing
Exit Sub
Err_CheckMyObject:
MsgBox Err.Description, vbExclamation, Err.Number
Resume Exit_CheckMyObject
Exit Sub
Miguel Altamirano Morales
Спасибо за этот совет Мацей; страница действительно интересная.
Ну, по крайней мере, для первых двух записей мне кажется, что все правильно; - в любом случае: как я могу проверить, что класс правильно зарегистрирован ?
И как я могу узнать, есть ли у класса лицензия ?
Библиотека была разработана (я думаю) с помощью VBA, и у нас есть лицензия на использование всей системы. Я не знаю, дал ли нам продавец новую лицензию.
И как я уже говорил вам: Я не уполномочен связываться с продавцом.
Maciej Los
Мигель, я бы предложил перерегистрировать эту dll в системе с привилегиями учетной записи администратора Windows. Есть шанс, что процесс регистрации завершится успешно. С другой стороны, попробуйте изменить свой код в форме, которую я опубликовал в обновленном ответе.
Miguel Altamirano Morales
Доброе утро, Мацей, еще раз спасибо за совет.
Я уже пробовал его и все еще терпит неудачу с той же ошибкой 429, когда он пытается выполнить инструкцию "Set objProd = New ProductTemporal".
Я просто не знаю, что происходит; библиотека правильно зарегистрирована, насколько я могу видеть, и список ссылок проекта действительно содержит эту ссылку.
Может ли быть проблема совместимости с другой версией этой библиотеки dll ?
Я попросил другой компьютер, чтобы посмотреть, не выходит ли он из строя на нем. Я также собираюсь подать заявку на новую версию access (2016); я работаю с access 2010.
Maciej Los
и список литературы проекта действительно содержит эту ссылку - удалите его и сохраните изменения, а затем закройте базу данных. После этого снова откройте базу данных и добавьте ссылку на новую библиотеку dll.
Что касается MS Access - не пытайтесь установить новую версию.
Miguel Altamirano Morales
Проект уже имеет ссылку на библиотеку поставщиков, но указывает на файл .tlb. Мы имеем в действительности .dll-файл, но ссылка добавляется в файл .tlb. Я не знаю, как эти файлы обрабатываются между собой, и если я попытаюсь добавить ссылку на dll, она будет отклонена, "ссылка на этот файл не может быть сделана" (или что-то в этом роде).
Пожалуйста, простите меня, если иногда я не могу ясно выразить себя. Английский - не мой родной язык.
В проекте есть ссылка на эту библиотеку.
Miguel Altamirano Morales
вот почему я просто не могу понять, что происходит. Все вроде бы правильно.
Maciej Los
Извиняюсь. Впервые я неправильно прочитал ваш комментарий. Извиняюсь. Пожалуйста,перечитайте мой комментарий еще раз.
Miguel Altamirano Morales
Не волнуйся Мацей, я сделал то, что ты мне посоветовал, и провал остается. Я получил ту же ошибку.
Возможно ли, что это проблема другого рода ?; проблема с отказом в разрешении?, я имею в виду, что мой Access 2010 не имеет разрешений на создание новых объектов ?. Или что-то в этом роде. Эта проблема выходит за рамки доступа scopeI think.
Недавно я использовал библиотеку Microsoft Excel 14.0 и использовал команду "CreateObject" для создания объекта excel.application, и она работала просто отлично.
Это должно быть разумной причиной для этой проблемы.
Miguel Altamirano Morales
Я запустил утилиту gacutil которую вы мне предложили и MS DOS прислала мне ответ:
"gacutil не является узнаваемым исполняемым файлом" (более или менее).
Я искал через свой проводник windows и нашел его на "Windows\Microsoft.net\Framework\V1.1.4322", но я заметил, что он называется "gacutil.exe.config" и является конфигурационным файлом.
Это правильный вариант ?, должен ли я его скачать ?
Miguel Altamirano Morales
Я немного запутался: Разве GAC не является инструментом для сетевой среды ?.
Это потому, что мы не установили ни одной версии if VS; по крайней мере, не на моем компьютере, где у меня есть тестовая зона с исходной базой данных. Но в производственной области, где тест также выполняется пользователями, этот процесс (и dll) работают нормально.
Maciej Los
Вот именно! Проверьте последнюю версию. Net на производственную площадь, а потом ее скачать с MS и установить на вашей рабочей станции. Наконец, вернитесь к началу нашего обсуждения и повторите все шаги, чтобы выяснить, что происходит. Сегодня я в командировке, поэтому буду недоступен. Удачи вам!
Miguel Altamirano Morales
Мацей, счастливого пути.
Я даже установил Visual Studio 2010, успешно зарегистрировал dll в GAC, и у меня все еще есть та же проблема.
Могу я с вами связаться ?. Или это вопрос публикации другого вопроса ?
Maciej Los
Спасибо, поездка прошла спокойно.
Ну, вы не упомянули об этом .установка сетевого фреймворка. Вы установили его? Это должна быть точно такая же версия, которая соответствует рабочей зоне.
Miguel Altamirano Morales
Я рада, что вы имели хорошую поездку.
На рабочем сервере установлена net framework 4.5, а на моем тестовом ПК-net framework 4.7.
Я удалил версию 4.7 своего компьютера и установил 4.5.
Как я и ожидал найти gacutil.exe после этого, и я не нашел его, я скачал Visual Stuido 2010 ultimate, (я читал gacutil.exe поставляется вместе с этим программным обеспечением). Процесс установки (VS) сказал мне, что он не может установить фреймворк 4, потому что он уже установлен, но действительно скачан gacutil.exe в 4 разных пути (если это необходимо, я скажу вам завтра, с какого из них я его запустил).
Я побежал за ним. gacutil.exe и это посылает мне сообщение, что библиотека была успешно зарегистрирована. Я был очень рад этому и думал, что моя проблема решена, но когда я попытался снова протестировать код доступа, он потерпел неудачу по той же причине ("не могу создать объект").
Я разработал небольшую программу VB NET с недавно загруженным VS и включил ссылку на две библиотеки DLL, включенные в систему, но одна из них с проблемой снова не была распознана; другая действительно была. Так что я просто должен догадаться, что есть проблема с этой dll; но, почему она может быть запущена на производственном уровне, а не в моем тестировании área?, ни даже в VB Net 2010.
Счастливого воскресенья !!!
Maciej Los
Мигель, кажется, единственный способ решить вашу проблему-это связаться с поставщиком dll...
Miguel Altamirano Morales
Мои дорогие друзья из систем área только что сказали мне, что производительный сервер, который они имеют, работает под управлением Windows sercer 2008 (после двух недель я просил их настроить мне среду с теми же характеристиками); так что теперь я собираюсь посмотреть, работает ли она с этим.
Я не имею права связываться с продавцом. (Политика компании).
Большое тебе спасибо, Мацей.
Miguel Altamirano Morales
Visual Studio 2017 действительно распознает эту чертову dll !!!