Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.033 c
2-1160668978
redlord
2006-10-12 20:02
2006.10.29
в каком потоке работает ServerSocket1ClientRead


15-1159937308
vidiv
2006-10-04 08:48
2006.10.29
Непрерывное профессиональное обучение.


15-1160162164
SkySpeed
2006-10-06 23:16
2006.10.29
Как можно вызвать программу в PHP с TEXT a?


15-1160123305
Курдль
2006-10-06 12:28
2006.10.29
Настройки ODBC "Delphi applications" Кто нибудь пользовался?


15-1160223275
Adder
2006-10-07 16:14
2006.10.29
Anatoly Podgoretsky с днём рождения!




   Наверх