Subject Re: [firebird-support] UDF Problem
Author Dimitry Sibiryakov
On 7 Jan 2004 at 0:05, Robert Tulloch wrote:

>I have written other udfs and never had a connection lost error before.

You must be a lucky dog, then...

>External Function which when tested by direct call to function in dll,
>returns a proper case string.
>
>DECLARE EXTERNAL FUNCTION PROPERCASESTRING
>VARCHAR(80) CHARACTER SET NONE
>RETURNS VARCHAR(80) CHARACTER SET NONE
>ENTRY_POINT 'fn_ProperCaseString' MODULE_NAME 'strudf';
>
>----------------------------------------------------------------------
>
>and dll code .cpp
>
>String __stdcall fn_ProperCaseString(String CheckString)

Shouldn't the function have __cdecl type? Are you sure that String
is compatible with VARCHAR? Looking at the rest of the code I
strongly suspect that you don't understand what VARCHAR is internally
(it is not a character array). May be you should use CSTRING instead
VARCHAR in function's declaration?
Memory management is suspicious too. When memory, allocated for
ProperCase will be freed?

SY, Dimitry Sibiryakov.