![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование компонентов ADO в dll [D7, XP]
Kostafey © (2006-10-10 16:50:00)Прошу помощи у уважаемых мастеров. Необходимо подключиться к СУБД MS SQL Server через dll и выполнить ряд SQL - запросов.
В dll добавляю форму (тобишь окно), подключаю к приложению (неявня загрузка) - все ОК. Но стоит лишь добавить в форму dll-ки тот же ADOConnection (компиляция dll успешна) при запуске же приложения с такой dll-кой возникает ошибка. Подскажите пожалуйста как тут быть ?
Kostafey (2006-10-12 18:19:00) [1]Пробовал вызывать CoInitialize в dll и в приложении, в разных события (закрытие, уничтожение окна) - ничего не получается, при выходе выдает ошибку, хотя вся работа прошла успешно.
Что же делать ?
Kostafey (2006-10-11 21:38:00) [2]А где писать CoUnInintialize? Я попробовал в событии закрытия основного ока приложения - ошибка осталась.
stone (2006-10-11 17:27:00) [3]
> uses ComObj;
> ...
> CoInitializeEx(nil,1);
uses ActiveX;
CoInitialize(nil);
При выходе
CoUnInintialize;
но ошибка может быть и не здесь
Kostafey (2006-10-11 17:03:00) [4]
> А вот так и пиши (перед началом работы с данными, например,
> при загрузке DLL):CoInitialize(nil);
Спасибо большое это помогло, правда CoInitialize не нашел, вот так написал:
uses ComObj;
...
CoInitializeEx(nil,1);
Теперь все запускается, правда при закрытии приложения возникает ошибка, мол обращение по такому-то адресу, память не может быть "read"
Джо (2006-10-11 06:29:00) [5]> Можно небольшой пример кода ?
А вот так и пиши (перед началом работы с данными, например, при загрузке DLL):
CoInitialize(nil);
8^)
Джо (2006-10-11 06:28:00) [6]> (т.е. если делать так же как и для обычного приложения,
> возможно для dll-ки есть какая-то специфика).
Например:
> [1] stone © (10.10.06 17:19)
Kostafey (2006-10-10 18:51:00) [7]
> CoInitialize(nil)
ой а что это такое.
Можно небольшой пример кода ?
Я говорю о том, что компонент (ADJConnection) ни к чему не подключен.
А само подключение проблем не вызывает
(т.е. если делать так же как и для обычного приложения, возможно для dll-ки есть какая-то специфика).
stone (2006-10-10 17:19:00) [8]попробую угадать
CoInitialize(nil) забыл