Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / CreateObject / 25 сообщений из 39, страница 1 из 2
04.08.2010, 16:26
    #36775561
myaucha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateObject
Создаю объект

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

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

в студию
...
Рейтинг: 0 / 0
04.08.2010, 16:32
    #36775584
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateObject
myauchaВ самом VB все работает нормально, но вот при создании EXE-файла приложение тихо падает на данной строчке не выдавая никаких сообщений. Подскажите, с чем может быть проблема?
On Error-ами ситуация отлавливается? EXE-шник выполняется на той же машине?
...
Рейтинг: 0 / 0
04.08.2010, 19:32
    #36775949
myaucha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateObject
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
04.08.2010, 20:19
    #36775991
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateObject
myauchaпросто ничего не происходитА что должно происходить? Создание объекта само по себе редко проявляется какими-то спецэффектами.


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

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

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

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

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

dim obj as IClient
set obj = new Client

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

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

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

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

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

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

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


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