Внешние процедуры
Добавлено: 27 ноя 2007, 18:37
Написал DLL'у с простой логической процедуркой:
Это компилю в DLL и сам файл перемещаю в папку UDF в папке с InterBase. Потом в IBConsole прописываю процедуру в форме для прописывания внешних процедур и получаю:
Далее использую её в запросе:
... LOG_AND(TBL.FLAG,1) = 0 ...
И в результате запрос не выполняется, а я получаю:
function LOG_AND is not defined.
module name or entrypoint could not be found.
Так может где-то ещё нужно прописать объявление этого модуля?
Код: Выделить всё
function LOG_AND(p1, p2:PDWORD):DWORD; stdcall; export;
begin
if (p1 = nil) or (p2 = nil) then Result := 0
else Result := p1^ and p2^;
end;
exports LOG_AND;
begin
end.
Код: Выделить всё
DECLARE EXTERNAL FUNCTION LOG_AND
INTEGER, INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'LOG_AND' MODULE_NAME 'LFUNC.dll';
... LOG_AND(TBL.FLAG,1) = 0 ...
И в результате запрос не выполняется, а я получаю:
function LOG_AND is not defined.
module name or entrypoint could not be found.
Так может где-то ещё нужно прописать объявление этого модуля?