Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

Использование компонентов ADO в dll   Найти похожие ветки 

 
Kostafey ©   (2006-10-10 16:50) [0]

Прошу помощи у уважаемых мастеров. Необходимо подключиться  к СУБД MS SQL Server через dll и выполнить ряд SQL - запросов.
В dll добавляю форму (тобишь окно), подключаю к приложению (неявня загрузка) - все ОК. Но стоит лишь добавить в форму dll-ки тот же ADOConnection (компиляция dll успешна) при запуске же приложения с такой dll-кой возникает ошибка. Подскажите пожалуйста как тут быть ?


 
stone ©   (2006-10-10 17:19) [1]

попробую угадать
CoInitialize(nil) забыл


 
Kostafey ©   (2006-10-10 18:51) [2]


> CoInitialize(nil)

ой а что это такое.
Можно небольшой пример кода ?

Я говорю о том, что компонент (ADJConnection) ни к чему не подключен.
А само подключение проблем не вызывает
(т.е. если делать так же как и для обычного приложения, возможно для dll-ки есть какая-то специфика).


 
Джо ©   (2006-10-11 06:28) [3]

> (т.е. если делать так же как и для обычного приложения,
> возможно для dll-ки есть какая-то специфика).


Например:

> [1] stone ©   (10.10.06 17:19)


 
Джо ©   (2006-10-11 06:29) [4]

> Можно небольшой пример кода ?

А вот так и пиши (перед началом работы с данными, например, при загрузке DLL):

CoInitialize(nil);

8^)


 
Kostafey ©   (2006-10-11 17:03) [5]


> А вот так и пиши (перед началом работы с данными, например,
>  при загрузке DLL):CoInitialize(nil);


Спасибо большое это помогло, правда CoInitialize не нашел, вот так написал:

uses ComObj;
...
CoInitializeEx(nil,1);


Теперь все запускается, правда при закрытии приложения возникает ошибка, мол обращение по такому-то адресу, память не может быть "read"


 
stone ©   (2006-10-11 17:27) [6]


> uses ComObj;
> ...
> CoInitializeEx(nil,1);

uses ActiveX;
CoInitialize(nil);
При выходе
CoUnInintialize;

но ошибка может быть и не здесь


 
Kostafey ©   (2006-10-11 21:38) [7]

А где писать CoUnInintialize? Я попробовал в событии закрытия основного ока приложения - ошибка осталась.


 
Kostafey ©   (2006-10-12 18:19) [8]

Пробовал вызывать CoInitialize в dll и в приложении, в разных события (закрытие, уничтожение окна) - ничего не получается, при выходе выдает ошибку, хотя вся работа прошла успешно.

Что же делать ?



Страницы: 1 вся ветка

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
3-1157479783
DBE
2006-09-05 22:09
2006.10.29
paradox на другом компе


15-1160491821
Olegzhek
2006-10-10 18:50
2006.10.29
Файл ".OBJ" из С


2-1160626264
apl
2006-10-12 08:11
2006.10.29
Про даты


1-1158062383
REA
2006-09-12 15:59
2006.10.29
XML разделитель


15-1159866263
vitv
2006-10-03 13:04
2006.10.29
Я нашёл официальный русский MSDN.