powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как передать ADODB.connection в COMОбъект.
13 сообщений из 13, страница 1 из 1
Как передать ADODB.connection в COMОбъект.
    #33939804
AlexTur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю COMобъект на VB. И пытаюсь передать в этот объект в качестве параметра ADODB.connection. При попытке открыть RecordSet c этим соединением выдается ошибка
«Arguments are of the wrong type? Are out of acceptable range, or are in conflict with one another”
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33940564
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не выйдет. Открытое соединение невозможно передать другому com-объету.
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33940647
AlexTur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему вы так считаете?
в COM объект сделанный на VC++ передается, как параметр типа IDispatch* .
Неужели нельзя передать в COMобъект сделанный на VB?
В чем разница? Это же обычный COMобъект.
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33940732
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что уже давно все перепробовал. Видимо это какое-то ограничение ADO.
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33940859
AlexTur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И мы тоже все перепробовали :( и ничего не получается. Но ведь в Cи можно.
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33941075
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexTurИ мы тоже все перепробовали :( и ничего не получается. Но ведь в Cи можно.

Да и здесь можно, вообще-то:

Такой код в ActiveX у меня прекрасно работает:

Код: plaintext
1.
2.
Public Property Set ActiveConnection(cData As ADODB.Connection)
    Set cn = cData
End Property

Проще вроде некуда...
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33941260
AlexTur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вы пробовали открыть RecordSet с этим Connection? Ошибка возникает имеено в этотм момент.

И уточните пожалуйста что вы понимаете под ActiveX? ActiveX control?
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33941827
blinow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня открывает без ошибок, но я еще передаю Recordset, вот он ведет себя очень странно, ошибок нет, но ведет себя как отдельный Recordset, я пробовал по всякому, но всеравно получается отдельная копия recordseta, а не ссылка на него
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33942626
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexTurА вы пробовали открыть RecordSet с этим Connection? Ошибка возникает имеено в этотм момент.

Да с этим OCX-ом я уже несколько лет работаю. Так что, конечно, пробовал.

AlexTurИ уточните пожалуйста что вы понимаете под ActiveX? ActiveX control?

В моем случае - контрол. Но может быть и ActiveX DLL/EXE.
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33943086
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оччень интересно... Только что проверил и контрол и dll - все передается и работает. Проверил в режиме отладке - ошибка при открытии рекордсета.
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33943855
AlexTur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да!!! именно так!!
решил попробовать из тестового exe запустить и оказалось, что в таком режиме работает передача коннекта.
т.е. за два дня я ни разу не доумился попробовать этого сделать, хотя перепробовал тысячу вещей.
Плохо, что отладить тогда будет невозможно. придется для отладки открывать коннект внутри.
теперь понятно почему такие разные мнения на форуме. ай да васик, а да ссукин сын.
Вопрос снят.
Всем спасибо большое.
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33947600
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexTurПлохо, что отладить тогда будет невозможно. придется для отладки открывать коннект внутри.

Вообще-то у меня и в отладке все работает. Ну нет проблем и все ;)
...
Рейтинг: 0 / 0
Как передать ADODB.connection в COMОбъект.
    #33955433
grigorash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй перерегистрировать *.dll и *.tlb находящиеся в
C:\Program Files\Common Files\System\ado. после этого начнёт работать и в отладке
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как передать ADODB.connection в COMОбъект.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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