Главная страница
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.057 c
2-1160629164
Olegas
2006-10-12 08:59
2006.10.29
Как вызвать процедуру


1-1158476868
maxistent
2006-09-17 11:07
2006.10.29
Handles & Threads...


2-1161019915
Block
2006-10-16 21:31
2006.10.29
BlockRead


6-1149925061
SamProf
2006-06-10 11:37
2006.10.29
Как проверить наличие ftp сервака на компе


15-1160382337
DelphiN!
2006-10-09 12:25
2006.10.29
Перевод кирилицы в коды используемые MSWord-ом