Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

dll и Ado [D7, MSSQL]


Страницы:   1 2 3

Stas ©   (2003-12-11 10:41:00) 

Никто не сталкивался с такой проблемой:
Есть процедура в dll-ке, которая пытается установить коннект через AdoConnection и открыть некий набор данных, но при попытки установить коннект в проекте вылазит ошибка Access violation.
Но вызывая ту же процедуру из VBA в Access все выполняется нормально !
dll написана на delphi !


Stas   (2003-12-15 10:30:00) [1]

Спасибо ! Разобрался, все работает.


me   (2003-12-12 17:55:00) [2]

Для вызова CoInitialize нужно подключить юниту ActiveX, вызывать просто как CoInitialize(nil);
в конце работы вызвать CoUninitialize();
Нужно обязательно делать, если СОМ сервис требуется в консольной аппликации и DLL. В обычной оконной аппликации CoInitialize вызывается неявно строчкой
Application.Initialize();
в файле проекта (*.dpr)


Stas   (2003-12-12 14:08:00) [3]

KSergey © (12.12.03 13:53) [41]
К чему было твое появление в этой ветке ?


KSergey   (2003-12-12 13:53:00) [4]

> [40] Stas © (12.12.03 12:24)

А почитать хелп - не судьба? Все эти вопросы там отлично освещены.
Да и в инете есть куча поисковиков...


Stas   (2003-12-12 12:24:00) [5]

KSergey © (12.12.03 12:11) [39]
НЕТ :-). Никогда не приходилось сталкиваться. Нужно ли какой нибудь модуль подключать ? и какие параметры туда писать? и вообще куда ее вписать ?
Заранее спасибо!


KSergey   (2003-12-12 12:11:00) [6]

Вы не знаете как вызвать ф-цию с именем CoInitialize??? ;)


Stas   (2003-12-12 09:38:00) [7]

А что его тогда интересовало когда я написал все что нужно в
Stas © (11.12.03 11:37) [7]


Stas   (2003-12-12 09:35:00) [8]

me (11.12.03 19:04) [33]

А можно подробнее как это сделать ?


KSergey   (2003-12-12 09:34:00) [9]

> [35] Stas © (12.12.03 09:25)

Лучше, конечно, спросить у него самого, но, уверен, что как минимум комментарий от борланда (стандартный!!!!!!) его совершенно не интересовал. ;)


Stas   (2003-12-12 09:25:00) [10]

KSergey © (11.12.03 17:28) [32]
Если бы ты внимательно все прочитал, то понял бы что это интересовало Vlad © (11.12.03 13:37) [22]


KSergey   (2003-12-12 09:03:00) [11]

[33] me (11.12.03 19:04)
Стандартные грабли - в Dll используется сервтс ADO и не делается явная инициализация COM (CoInitialize)

Я хотел про это написать, однако ведь автор не жалуется на эиу ошибку, у него - AV - а потому видимо до проблемы CoInitialize дело еще не дошло...
Да и мы с вами ведь не знаем какое хост-приложение, может это производится в нем?


me   (2003-12-11 19:04:00) [12]

Стандартные грабли - в Dll используется сервтс ADO и не делается явная инициализация COM (CoInitialize)


KSergey   (2003-12-11 17:28:00) [13]

2 Stas:
Посмотрите еще раз код, посланный вами и скажиме: он информативен? Комуто вообще интересно читать наименование модуля, а тем более стандартный комментарий борланда??


Stas   (2003-12-11 14:24:00) [14]

Stas © (11.12.03 14:17) [30]
Все работает !
Это уже я немного прогнал. Подключал твою Dll, с твоей строкой подключения в AdoConnection.

СПАСИБО !!!


Stas   (2003-12-11 14:17:00) [15]

akim2 (11.12.03 14:00) [28]

Попробывал твой проект !
При динамическом подключении твоей dll, я проверял пошагово дошло до вызова самой процедуры (последняя строчка) и подвисло приложение. А при статическом тоже самое что и у меня.
Пробывал на D6,D7 винда XP. Еще у двух человек такое на D7,D6 под 2000.
Может быть MDAC глючит ?
Самое интересное что из Access вызывается все нормально !


Stas   (2003-12-11 14:05:00) [16]

Спасибо получил!


akim2   (2003-12-11 14:00:00) [17]

Ушло,
Токо я бы тебе рекомендовал не использовать статический вызов библиотек кот работают с ADO и кот создают формы, а так же в библиотеках не пользоваться TDataModule. Клади компоненты сразу на форму


Stas   (2003-12-11 13:50:00) [18]

akim2 (11.12.03 13:47) [26]
О класс!
посылай !

Заранее благодарен.


akim2   (2003-12-11 13:47:00) [19]

Я могу Stas на мыло послать работающий проект?


Stas   (2003-12-11 13:43:00) [20]

akim2 (11.12.03 13:40) [24]
см. Stas © (11.12.03 13:29) [19]
Если я вставлю в процедуру ShowReport строку
Con:=TAdoConnection.Create(nil);
то вызовется ошибка.
Как ты это делаешь ?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо