Добрый день.
Пытаюсь подключить UDF, которая цвела и пахла уже лет 10, но на другом ПК. Никак.
Ну, думаю, дай проверю, написав простенькую библиотеку с нуля.
Пишу:
library Littlelib;
uses
SysUtils,
Classes;
function MyAdd1(var Val:Integer):Integer;cdecl;export;
begin
Result:=Val+1;
end;
function MyAdd2 (Val:Integer):Integer; cdecl;export;
begin
Result:=Val+2;
end;
function MyAdd3 (var Val:Integer):PInteger; cdecl; export;
var ResultInteger: Integer;
begin
ResultInteger:=Val+3;
Result:=@ResultInteger;
end;
exports
MyAdd1, MyAdd2, MyAdd3;
begin
isMultiThread:=True;
end.
Полученную библиотеку подкинул в папку Firebird\UDF
Регистрирую их в базе:
DECLARE EXTERNAL FUNCTION ADD1
INTEGER
RETURNS INTEGER
ENTRY_POINT 'MyAdd1' MODULE_NAME 'Littlelib';
Запрос:
select add1(id) from table1
Ошибка:
Invalid token.
invalid request BLR at offset 60.
function ADD1 is not defined.
module name or entrypoint could not be found.
На основной библиотеке у меня точно такая же ошибка. Подозреваю, что не видит моей библиотеки (ни новой, ни старой) Firebird. Куда смотреть и что делать?
Спасибо заранее.