Здравствуйте, Michael. Вы писали 15 ноября 2008 г., 2:52:48:
MVC> On Sat, 15 Nov 2008, KES wrote: >> Здравствуйте, Michael. MVC> Zdravstvuyte... >> >> I have tryied my example to compile in Delphi. Then I use DLL in >> >> FireBird on Win32. All works fine. So my source file is good >> >> and therefore FreePascal can not compile shared library that can be >> >> recognized by FireBird ((( >> >> MVC> Did you specify cdecl as the calling convention for non-windows ? >> MVC> If it works on windows, it almost surely does not work straight out >> MVC> of the box on unices, because the calling convention will be wrong. >> >> MVC> Michael. >> >> This is last my try: >> >> library MyUDF; >> >> >> function somefn: integer; cdecl; export; >> begin >> somefn:= 3; >> end; >> >> exports >> somefn name '_somefn'; >> end. >> >> On win32 it works, on FreeBSD does not MVC> I compiled the library, and checked the contents: home: >>objdump -t libmyudf.so MVC> 00004a20 g F .text 00000005 _somefn MVC> So the symbol is present, as you declared it in your library. MVC> That part seems OK. MVC> How do you declare your function in Firebird ? MVC> Does it have the _ ? MVC> and the correct casing ? MVC> Michael. I have tryied with and without _ DECLARE EXTERNAL FUNCTION FNTEST RETURNS INTEGER ENTRY_POINT 'somefn' MODULE_NAME 'myudf' DECLARE EXTERNAL FUNCTION FNTEST RETURNS INTEGER ENTRY_POINT '_somefn' MODULE_NAME 'myudf' -- С уважением, KES mailto:[EMAIL PROTECTED] _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal