| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > ActiveX component can't create object |
| Автор: Li 11.11.2002, 22:10 |
| у меня макрос под ехсеl2000. нужно считать данные из файла в переменную построчно. я делаю это следующим образом Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.OpenTextFile("list.txt") s = a.ReadLine Однако при переносе на другую машину, точно такой же компьютер с той же ОС и версией офиса, на строчке Set fs = CreateObject("Scripting.FileSystemObject") появляется ошибка "ActiveX component can't create object" из хелпа понятно что что-то где-то не зарегистрировано, но что и где? у меня два вопроса 1. что нужно сделать, чтобы указанный код работал? 2. как можно считать данные из файла не прибегая к функции CreateObject? Спасибо! |
| Автор: Vit 12.11.2002, 00:31 |
| Вот этот объект и не зарегистрирован: "Scripting", найди доку откуда ты берёшь этот объект и используя regsrv32 зарегистрируй |
| Автор: nik0p0l 26.3.2007, 13:53 | ||||||
| извините за поднятие старой темки , но ошибка точно такая же и думаю новую тему по этому создавать не стоит. вот на этом выскакивает ошибочка из названия темы(в скрипте на VBScript):
Делал:
не помогает, дословно ругается:
так же регистрировал ocx с ним все норм. на другой машине ошибочки нет хотелось бы это как то решить, уж очень удобно. на других машинах скрипт как часы работает, а на моей рабочей ... :( |
| Автор: mihanik 28.3.2007, 07:57 | ||||||
| nik0p0l!!! Во-первых, в твоём случае нужна компонента не comdlg32.dll, а COMDLG32.OCX Естественно, её нужно зарегить
Но этого мало. Нужно внести изменения в реестр. Вот содержимое reg-файла, который это делает...
Добавлено через 4 минуты и 27 секунд Li!!! А тебе порекомендую использовать стандартные операторы бейсика. Они работают везде. Ну... Как-то так.
Извини, проверить синтаксис не могу, пишу прямо в IE... Но идея такова. |
| Автор: nik0p0l 29.3.2007, 11:04 | ||||||
Большое спасибо |
| Автор: mihanik 29.3.2007, 11:34 |
Будешь смеятся... Искал в яндексе пару недель назад... |
| Автор: nik0p0l 29.3.2007, 12:42 | ||
мда |
| Автор: DrBoom 2.7.2007, 16:07 | ||||
| --- Извиняюсь за поднятие старой темы, проблема таже... Ошибка run-time '429': "ActiveX component can't create object" В основной программе:
В LM_Plugins.dll:
Я уже обкампилировался, обзарегистрировался моей dll-ки... всё равно 429 и нечего нового... что делать??? класс в dll-ке один, называется MainPlugin? Пробывал createObject вместо get - такая ж ... м... как бы сказть))) ерунда))) Помогите плзЪ!!! |
| Автор: mihanik 4.7.2007, 20:54 |
| Гы... Начни новую тему и сформулируй подробно, что ты хочешь... Опиши как можно подробнее!!! Ты что строишь? COM Add-Ins ? А как? |
| Автор: parkovaya1 2.11.2009, 02:53 | ||
| пришло время обновить тему ) появляется все та же ошибка все там же:
но насколько я понимаю объект AutoCAD.Application.17 (C:\Program Files (x86)\Common Files\Autodesk Shared\acax17enu.tlb) зарегистрирован иначе он бы не отображался в окне Available References в VB6. В Task Manager видно как загружается процесс acad.exe, после чего следует пауза и затем код vb выдает ошибку ActiveX component can't create object, а процесс acad.exe выгружается из памяти подскажите, в чем может быть причина? |
| Автор: Akina 2.11.2009, 09:16 |
| Претензии - к Автокаду |
| Автор: LittleJohney 8.1.2010, 18:02 |
| Добрый день! Cоздаётся объект Set objCrFactory = CreateObject("CrystalReports.ObjectFactory.2") Получаю всё ту же ошибку "Activex can't create object". Нашёл нужную objectfactory.dll, зарегистрировал regsvr32 , но результат не изменился. Подскажите пожалуйста, что может быть не так. |
| Автор: LittleJohney 11.1.2010, 14:32 |
| Вопрос решён. Жаль что так много времени потрачено на регистрации длл и проверку корректности их зависимостей - в моём случае оказалось пустой тратой времени. Решение оказалось в принципе очевидным, я пока не разобрался в тонкостях, но помогла установка Crystal Reports 9. В процессе установки кроме копирования файлов и всего остального регистрировались модули (dll), их скорее всего мне и недоставало. То что было на моём диске до этого - оказалось каким то недобросовестным копипастом на который я и попался. В общем не буду долго посыпать голову пеплом, если моё решение поможет ещё кому нибудь - буду рад P.S. Жаль что порой самые очевидные и правильные решения приходят к нам в последнюю очередь. |