powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / CreateObject
25 сообщений из 39, страница 1 из 2
CreateObject
    #36775561
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создаю объект

dim obj as object
set obj = CreateObject("XXX.BBB.CCC")

В самом VB все работает нормально, но вот при создании EXE-файла приложение тихо падает на данной строчке не выдавая никаких сообщений. Подскажите, с чем может быть проблема?
...
Рейтинг: 0 / 0
CreateObject
    #36775565
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XXX.BBB.CCC

в студию
...
Рейтинг: 0 / 0
CreateObject
    #36775584
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
myauchaВ самом VB все работает нормально, но вот при создании EXE-файла приложение тихо падает на данной строчке не выдавая никаких сообщений. Подскажите, с чем может быть проблема?
On Error-ами ситуация отлавливается? EXE-шник выполняется на той же машине?
...
Рейтинг: 0 / 0
CreateObject
    #36775949
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XXX.BBB.CCC - некий ProgID на стороннюю DLL-ку. В ней реализован класс Client и интерфейс IClient (реализация, скорее всего, на C++). Когда я пишу в VB типы явным образом, установив reference на данную DLL-ку, то все нормально

dim obj as IClient
set obj = new Client

затем делаю make EXE и запускаю его... просто ничего не происходит, никаких сообщений, ничего вообще (в командной строке тоже ничего). Я подумал, что надо убрать reference и попробовать дальнее связывание

dim obj as object
set obj = CreateObject("....")

Опять же, до компиляции все работает, а после хрен там. Может какая то есть особенность в том, что есть интерфейс IClient, а есть класс Client?

Error-ами не отлавливается. EXE-шник выполняется на той же машине
...
Рейтинг: 0 / 0
CreateObject
    #36775991
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
myauchaпросто ничего не происходитА что должно происходить? Создание объекта само по себе редко проявляется какими-то спецэффектами.


myauchaдальнее связываниеШедевр.
...
Рейтинг: 0 / 0
CreateObject
    #36776074
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Antonariy

Когда человеку нечего сказать, но очень хочется - он начинает выеб...ться
...
Рейтинг: 0 / 0
CreateObject
    #36776077
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
myauchaКогда человеку нечего сказать, но очень хочется - он начинает выеб...ться
Судя по потертым модераторами вашим постам - у вас большой опыт.
...
Рейтинг: 0 / 0
CreateObject
    #36776284
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
CreateObject
    #36776421
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
могу предположить , что вам потребуется TLB для вашей DLL, которая реализует правильный COM-интерфейс к вашему классу.
...
Рейтинг: 0 / 0
CreateObject
    #36776540
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TLB-файл я подключаю в Reference, когда запускаю в среде разработки. Если я теперь проект скомпилирую в EXE-шник (не отключая Reference и указывая в программе явные типы), то он не запустится. Куда в данном случае TLB нужно еще пристроить?

Может дело Licence?! Я на VB не писал 100 лет, но помню, что в свое время были какие-то заморочки с регистрацией лицензий ActiveX DLL. Может, кто тесно с VB работает, сможет напомнить что там и как?!
...
Рейтинг: 0 / 0
CreateObject
    #36776559
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лицензии обычно на design time, у вас другой случай. разбирайтесь с вашей dll в исходниках. видимо в ней что-то не так в com-реализации класса вашего объекта.
...
Рейтинг: 0 / 0
CreateObject
    #36776650
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходников нет, как тут разбирешься!
...
Рейтинг: 0 / 0
CreateObject
    #36776660
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бы были проблемы с DLL, то она бы не работала и в среде разработки. Еще дополнительная информация для размышления. Она предоставляет клиентский доступ к активному приложению, запущенному на том же самом компьютере.
...
Рейтинг: 0 / 0
CreateObject
    #36776672
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
("XXX.BBB.CCC")

покажите наконец точную строку вашей ProgID
в реестре в CLASSES_ROOT такой ProgID присутствует для вашей Dll?
...
Рейтинг: 0 / 0
CreateObject
    #36776832
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
myaucha2 Antonariy

Когда человеку нечего сказать, но очень хочется - он начинает выеб...тьсяЭто вы про себя что ли? Чувствуется опыт в этом самом… А лично мне есть что сказать. Например:

dim obj as IClient
set obj = new Client

не аналогично этому:

dim obj as object
set obj = CreateObject("....")

В первом случае вернется указатель на интерфейс IClient, а во втором на базовый класс, который указан в параметре CreateObject. Другими словами, поздним связыванием этот интерфейс никак не получить.
...
Рейтинг: 0 / 0
CreateObject
    #36777399
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
CreateObject
    #36777478
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
CreateObject
    #36777486
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем апаете, вы сначала ответьте на вопросы выше
...
Рейтинг: 0 / 0
CreateObject
    #36777529
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот она и есть - точная строка XXX.BBB.CCC
...
Рейтинг: 0 / 0
CreateObject
    #36777532
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
myauchaВот она и есть - точная строка XXX.BBB.CCC
и по такому ProgId у вас зарегистрирован entry-point в реестре для вашей dll?
...
Рейтинг: 0 / 0
CreateObject
    #36777543
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще могу сказать, что зарегистрировать/разрегистрировать DLL-ку через regsvr32 нельзя. "Найти точку вход DllRegServer не удалось"
...
Рейтинг: 0 / 0
CreateObject
    #36777558
myaucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу, с таким именем и зарегистрирован. А что в нем плохого?!

Зайдем с другой стороны, чем отличается принципиально запуск приложения из среды разработки и из EXE-файла применительно к DLL-ке с COM-овским содержимым?!
...
Рейтинг: 0 / 0
CreateObject
    #36777574
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
myauchaУгу, с таким именем и зарегистрирован. А что в нем плохого?!

Зайдем с другой стороны, чем отличается принципиально запуск приложения из среды разработки и из EXE-файла применительно к DLL-ке с COM-овским содержимым?!

ничем, у вас другая история: вы путаете интерфейс класса и сам класс
...
Рейтинг: 0 / 0
CreateObject
    #36777578
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
myauchaЕще могу сказать, что зарегистрировать/разрегистрировать DLL-ку через regsvr32 нельзя. "Найти точку вход DllRegServer не удалось"

тогда у вас не com-dll, может у вас .NET dll?
...
Рейтинг: 0 / 0
CreateObject
    #36777584
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрите dependency viewer на что там ваша dll-ка ссылается
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / CreateObject
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]