[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