|
|
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
сделал dll-ку, в которой есть функция использующая ADOQuery, ADOConnection, ADOTable. не без трудностей, но скомпилировал. Теперь подгружаю ее из другой программы, пишет Access violation... :( В чем может быть дело? 1) статически функция, использующая адо, работала. т.е. подобных ошибок не возникало. так что сама функция абсолютна верна. 2) в данный момент к dll-ке при построении добавлены библиотеки (vcl.lib, odbc32.dll, adortl.lib). Может еще надо добавить? 3) dll-ка подгружается динамически (loadlibrary) 4) дело точно в адо, т.к. до места с адо все из длл-ки выполняется. Помогите! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 23:50 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
CoInitialize(NULL); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2007, 10:14 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
Это надо писать в длл-ке или в программе при вызове? В любом случае не поможет, т.к. в билдере нет такой функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2007, 16:58 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
SNVI Это надо писать в длл-ке или в программе при вызове? Конечно в Длл-ке. SNVI В любом случае не поможет, т.к. в билдере нет такой функции. Фигасе утверждение ! #include <objbase.h> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2007, 20:04 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
оке. попробую. в хелпе этой функции точно нет ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2007, 22:15 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
Написал в самое начало глючной функции с АДО CoInitialize(NULL); , ошибка не исчезла :( проверил CoInitialize(NULL); возвращает 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2007, 22:37 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
JibSkeart SNVI Это надо писать в длл-ке или в программе при вызове? Конечно в Длл-ке.Вообще-то, не в dll, а в треде. А вообще, использовать ADO в С++ это извращение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2007, 23:27 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
White Owl Вообще-то, не в dll, а в треде. Я образно... White Owl А вообще, использовать ADO в С++ это извращение. Странное утверждение :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2007, 23:39 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
JibSkeart White Owl Вообще-то, не в dll, а в треде. Я образно...Образно не различать длл и тред это сильно. Это пять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2007, 23:48 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
Критический код, перед которым вылазит ошибка access violation.. ADOQuery1->Close(); ADOConnection1->Close(); ShowMessage(vfdir+tabname); S.printf("Provider=MSDASQL.1;Persist Security Info=False;Data Source=Ôàéëû dBASE;Mode=Read;Initial Catalog= %s", vfdir); ADOConnection1->ConnectionString = S; ADOConnection1->LoginPrompt = false; ADOQuery1->SQL->Clear(); ADOQuery1->Connection = ADOConnection1; //Query block Sq.printf("select * from %s",tabname); ADOQuery1->SQL->Add(Sq); ADOQuery1->Active = true; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 04:32 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
White Owl JibSkeart White Owl Вообще-то, не в dll, а в треде. Я образно...Образно не различать длл и тред это сильно. Это пять. Хмм ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 06:46 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. У вас это точно длл-ка ? Откуда такое странное название обьектов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 06:59 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
Закрытие коннекшна перед использолванием смущает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 10:07 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
Использовать ADO - извращение, сто пудофф :) Особенно для доступа к DBF из C++ Builder-а ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 10:32 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
1. это длл-ка точно, просто я привел кусок кода где используется АДО. 2. АДО использую потому, что БДЕ не захотел подгружать таблицы фокспро. не знаю почему :) 3. спасибо за внимание. решил оставить екзе-шник, ибо время не терпит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 14:21 |
|
||
|
вызов ADO из DLL
|
|||
|---|---|---|---|
|
#18+
Проблема решилась. Нужно проверить 2 вещи. 1. Добавить выделение памяти для объектов TADOConnection *ADOConnection1=new TADOConnection(NULL); TADOQuery *ADOQuery1=new TADOQuery(NULL); 2. Если потребуется добавить еще и инициализацию ком-объекта CoInitialize(NULL); Спасибо всем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2007, 09:41 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34410309&tid=2029194]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 448ms |

| 0 / 0 |
