|
|
|
UDF на VC6
|
|||
|---|---|---|---|
|
#18+
Ребят, привет! Есть небольшая проблемка. Начал писать UDF (до этого для Interbase не писал их вообще) на VC6. Для Interbase 6. Листинг простейший: #include "stdafx.h" #include <ibase.h> extern "C" __declspec(dllexport) int UDFTEST(int&); //--------------------------------------------------------------- BOOL APIENTRY DllMain( HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) { return TRUE; } //------------------------------------------------------------------------ int UDFTEST(int& k) { return 1; // Простейший тест - поставили всегда возвращает 1 } Никакие библиотеки кроме стандартных не подключаются. Функция устанавливается: declare external function udftest integer returns integer entry_point 'UDFTEST' module_name 'udf_test.dll'; При выполнении в запросе (запрос выполнялся в Interactive SQL) select * from toures where udftest(nigths)=1; выдаёт табличку с ошибкой "сonnection lost to database". При этом восстановить соединение никак не удаётся. Ребят, кто-нибудь с такой проблемой сталкивался? Что делать? И ещё. Быть может у кого-нибудь листинги есть по работе c BLOB через UDF на VC6. Если поделитесь - очень обяжете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 18:30 |
|
||
|
UDF на VC6
|
|||
|---|---|---|---|
|
#18+
Есть неплохая статья http://www.ibase.ru/devinfo/udf_ok.htm, правда не на VC, но с блобами немного растолковано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 18:44 |
|
||
|
UDF на VC6
|
|||
|---|---|---|---|
|
#18+
Разобрался, почему виснет. Всё дело в том, что результат должен возвращаться как ссылка на глобальную переменную. Вот так: #include "stdafx.h" #include <ibase.h> extern "C" __declspec(dllexport) int& UDFTEST(int); int iResult; //---------------------------------------------------------------------------- BOOL APIENTRY DllMain( HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) { return TRUE; } //---------------------------------------------------------------------------- int& UDFTEST(int k) { iResult=1; return iResult; } Но за ихходники BLOB буду благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 19:03 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=522&tid=1580649]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
16ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 305ms |

| 0 / 0 |
