Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как передать ADODB.connection в COMОбъект. / 13 сообщений из 13, страница 1 из 1
24.08.2006, 12:27
    #33939804
AlexTur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать ADODB.connection в COMОбъект.
Делаю 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
24.08.2006, 15:19
    #33940564
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать ADODB.connection в COMОбъект.
Ничего не выйдет. Открытое соединение невозможно передать другому com-объету.
...
Рейтинг: 0 / 0
24.08.2006, 15:40
    #33940647
AlexTur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать ADODB.connection в COMОбъект.
Почему вы так считаете?
в COM объект сделанный на VC++ передается, как параметр типа IDispatch* .
Неужели нельзя передать в COMобъект сделанный на VB?
В чем разница? Это же обычный COMобъект.
...
Рейтинг: 0 / 0
24.08.2006, 16:01
    #33940732
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать ADODB.connection в COMОбъект.
Потому что уже давно все перепробовал. Видимо это какое-то ограничение ADO.
...
Рейтинг: 0 / 0
24.08.2006, 16:27
    #33940859
AlexTur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать ADODB.connection в COMОбъект.
И мы тоже все перепробовали :( и ничего не получается. Но ведь в Cи можно.
...
Рейтинг: 0 / 0
24.08.2006, 17:32
    #33941075
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать ADODB.connection в COMОбъект.
AlexTurИ мы тоже все перепробовали :( и ничего не получается. Но ведь в Cи можно.

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

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

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

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

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

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

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

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

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


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