Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Вниз

Использование компонентов 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.043 c
3-1156852783
Alex_AA
2006-08-29 15:59
2006.10.29
Сортировка записей в таблице БД


2-1160418334
dreamse
2006-10-09 22:25
2006.10.29
создание формы динамически


8-1143449543
kmi
2006-03-27 12:52
2006.10.29
Сохранение TBitMap в формате JPEG


2-1160890421
ctudent
2006-10-15 09:33
2006.10.29
Работа с компонентами в Run-Time


2-1160450667
learner
2006-10-10 07:24
2006.10.29
Жутко тормозит BDS 2006





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский