Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
Создаю объект dim obj as object set obj = CreateObject("XXX.BBB.CCC") В самом VB все работает нормально, но вот при создании EXE-файла приложение тихо падает на данной строчке не выдавая никаких сообщений. Подскажите, с чем может быть проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2010, 16:26 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
myauchaВ самом VB все работает нормально, но вот при создании EXE-файла приложение тихо падает на данной строчке не выдавая никаких сообщений. Подскажите, с чем может быть проблема? On Error-ами ситуация отлавливается? EXE-шник выполняется на той же машине? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2010, 16:32 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
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-шник выполняется на той же машине ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2010, 19:32 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
myauchaпросто ничего не происходитА что должно происходить? Создание объекта само по себе редко проявляется какими-то спецэффектами. myauchaдальнее связываниеШедевр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2010, 20:19 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
2 Antonariy Когда человеку нечего сказать, но очень хочется - он начинает выеб...ться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2010, 21:58 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
myauchaКогда человеку нечего сказать, но очень хочется - он начинает выеб...ться Судя по потертым модераторами вашим постам - у вас большой опыт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2010, 22:04 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
могу предположить , что вам потребуется TLB для вашей DLL, которая реализует правильный COM-интерфейс к вашему классу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 10:09 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
TLB-файл я подключаю в Reference, когда запускаю в среде разработки. Если я теперь проект скомпилирую в EXE-шник (не отключая Reference и указывая в программе явные типы), то он не запустится. Куда в данном случае TLB нужно еще пристроить? Может дело Licence?! Я на VB не писал 100 лет, но помню, что в свое время были какие-то заморочки с регистрацией лицензий ActiveX DLL. Может, кто тесно с VB работает, сможет напомнить что там и как?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 10:58 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
лицензии обычно на design time, у вас другой случай. разбирайтесь с вашей dll в исходниках. видимо в ней что-то не так в com-реализации класса вашего объекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 11:03 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
Исходников нет, как тут разбирешься! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 11:36 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
Если бы были проблемы с DLL, то она бы не работала и в среде разработки. Еще дополнительная информация для размышления. Она предоставляет клиентский доступ к активному приложению, запущенному на том же самом компьютере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 11:39 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
("XXX.BBB.CCC") покажите наконец точную строку вашей ProgID в реестре в CLASSES_ROOT такой ProgID присутствует для вашей Dll? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 11:44 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
myaucha2 Antonariy Когда человеку нечего сказать, но очень хочется - он начинает выеб...тьсяЭто вы про себя что ли? Чувствуется опыт в этом самом… А лично мне есть что сказать. Например: dim obj as IClient set obj = new Client не аналогично этому: dim obj as object set obj = CreateObject("....") В первом случае вернется указатель на интерфейс IClient, а во втором на базовый класс, который указан в параметре CreateObject. Другими словами, поздним связыванием этот интерфейс никак не получить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 12:37 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
зачем апаете, вы сначала ответьте на вопросы выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:31 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
Вот она и есть - точная строка XXX.BBB.CCC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:44 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
myauchaВот она и есть - точная строка XXX.BBB.CCC и по такому ProgId у вас зарегистрирован entry-point в реестре для вашей dll? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:45 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
Еще могу сказать, что зарегистрировать/разрегистрировать DLL-ку через regsvr32 нельзя. "Найти точку вход DllRegServer не удалось" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:48 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
Угу, с таким именем и зарегистрирован. А что в нем плохого?! Зайдем с другой стороны, чем отличается принципиально запуск приложения из среды разработки и из EXE-файла применительно к DLL-ке с COM-овским содержимым?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:51 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
myauchaУгу, с таким именем и зарегистрирован. А что в нем плохого?! Зайдем с другой стороны, чем отличается принципиально запуск приложения из среды разработки и из EXE-файла применительно к DLL-ке с COM-овским содержимым?! ничем, у вас другая история: вы путаете интерфейс класса и сам класс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:55 |
|
||
|
CreateObject
|
|||
|---|---|---|---|
|
#18+
myauchaЕще могу сказать, что зарегистрировать/разрегистрировать DLL-ку через regsvr32 нельзя. "Найти точку вход DllRegServer не удалось" тогда у вас не com-dll, может у вас .NET dll? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2010, 15:56 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36775584&tid=2159522]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 375ms |

| 0 / 0 |
