slavic |
Отправлено: 21.03.2007, 23:52 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 6

|
сделал dll-ку, в которой есть функция использующая ADOQuery, ADOConnection, ADOTable.
не без трудностей, но скомпилировал.
Теперь подгружаю ее из другой программы, пишет Access violation... 
В чем может быть дело?
1) статически функция, использующая адо, работала. т.е. подобных ошибок не возникало. так что сама функция абсолютна верна.
2) в данный момент к dll-ке при построении добавлены библиотеки (vcl.lib, odbc32.dll, adortl.lib). Может еще надо добавить?
3) dll-ка подгружается динамически (loadlibrary)
4) дело точно в адо, т.к. до места с адо все из длл-ки выполняется. |
 |
olegenty |
Отправлено: 22.03.2007, 09:40 |
|
Ветеран
Группа: Модератор
Сообщений: 2412

|
Для ответа недостаточно данных. включи отладчик и посмотри, где AV происходит. Тогда всё станет понятно.
|
 |
Guest |
Отправлено: 22.03.2007, 11:47 |
|
Не зарегистрирован

|
по-моему, всё понятно.
в виде приложения все работало, в длл-ке перестало.
ошибка на компонентах АДО.
что дописать? как исправить? |
 |
olegenty |
Отправлено: 23.03.2007, 08:47 |
|
Ветеран
Группа: Модератор
Сообщений: 2412

|
сорцы, может, в студию? а то тут телепатов нет.
|
 |
Ramzay |
Отправлено: 23.03.2007, 21:03 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 31

|
Трудно так сказать, информации маловато. Но то что должно работать — это точно. У меня была похожая проблема, победил так:
CODE | CoInitialize(NULL);
ADOQuery=new TADOQuery(NULL);
| |
 |
Admin |
Отправлено: 23.03.2007, 21:18 |
|

Владимир
Группа: Администратор
Сообщений: 1190

|
QUOTE | сделал dll-ку, в которой есть функция использующая ADOQuery, ADOConnection, ADOTable.
|
При использовании ADOQuery, ADOConnection, ADOTable — где они
создаются ?
|
 |
olegenty |
Отправлено: 24.03.2007, 08:06 |
|
Ветеран
Группа: Модератор
Сообщений: 2412

|
на модуле данных 
который не проинициализирован (в смысле — не создан )
|
 |
slavic |
Отправлено: 24.03.2007, 09:42 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 6

|
Проблема решилась. Нужно проверить 2 вещи.
1. Добавить выделение памяти для объектов
TADOConnection *ADOConnection1=new TADOConnection(NULL);
TADOQuery *ADOQuery1=new TADOQuery(NULL);
2. Если потребуется добавить еще и инициализацию ком-объекта
CoInitialize(NULL);
Спасибо всем!
|
 |