> I created a UDF, just to test and try to discovery what's wrong. > I ill explain what I did step by step. > > I created a teste.pas file like this: > > ---- > > library teste; > > function intmax(a,b: Integer): Integer; stdcall; export; > begin > if a>b then intmax:=a else intmax:=b; > end; > > exports > intmax; > > end. > > ---- > > I compile with freepascal: > fpc teste > > I moved to udf directory on firebird: > mv libteste.so /usr/local/firebird/UDF/ > > I changed permissions: > cd /usr/local/firebird/UDF > chown firebird:firebird libteste.so > chmod 550 libteste.so > > I declared UDF: > > DECLARE EXTERNAL FUNCTION INTMAX > INTEGER, > INTEGER > RETURNS INTEGER BY VALUE > ENTRY_POINT 'intmax' MODULE_NAME 'teste'; > > I test it: > select intmax(1,2) from rdb$database; > > And I got this error message: > Invalid token. > invalid request BLR at offset 60. > function INTMAX is not defined. > module name or entrypoint could not be found. > > Does anyone have any ideas? >
Are you 100% sure it doesn't have to be cdecl; instead of stdcall on *nix? _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal