[fpc-devel] DLL WIN64: Entry point not found

Luc Vigato, Sita Software l.vigato at sitasoftware.lu
Thu Jul 19 08:17:51 CEST 2007


That's my sql with the error code from firebird.

SELECT simple('tes t !') FROM  rdb$database

ISC ERROR CODE:335544343

ISC ERROR MESSAGE:
invalid request BLR at offset 79
function SIMPLE is not defined
module name or entrypoint could not be found


UDF declation is
DECLARE EXTERNAL FUNCTION SIMPLE
  CSTRING (254)
  RETURNS CSTRING (254)
  ENTRY_POINT 'Simple' MODULE_NAME 'SitaUdfLib.dll'


-----Original Message-----
From: fpc-devel-bounces at lists.freepascal.org
[mailto:fpc-devel-bounces at lists.freepascal.org] On Behalf Of Dimitrios Chr.
Ioannidis
Sent: mercredi 18 juillet 2007 19:06
To: FPC developers' list
Subject: Re: [fpc-devel] DLL WIN64: Entry point not found

O/H Vincent Snijders Ýãñáøå:
> Mark - WBIsoft.COM schreef:
>> I think the calling convention be STDCALL ?
>>
>>
>
> IIRC, that is the same on win64.

Are you sure about this ?

AFAIK, they  have opposite order of arguments in stack. In cdecl caller
will clean up stack after the call (raise ESP) while in stdcall this is
job of called function. I see no reason to change this because of
32\64\128 bit architecture of CPU.

Anyway, the calling convention for a Firebird UDF is still cdecl either
for x86_64 or x86_32.

PS: Don't forget to use ib_util_malloc() from ib_util.dll to allocate
memory for the UDF result string declared as FREE_IT.

regards,
--
Dimitrios Chr. Ioannidis
Firebird Project
http://www.firebirdsql.org


_______________________________________________
fpc-devel maillist  -  fpc-devel at lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel





More information about the fpc-devel mailing list