Subject | Error on UDF in classic mode |
---|---|
Author | Charles-Henri Balet |
Post date | 2008-08-12T15:59:57Z |
Hello,
I have writing a Delphi Dll for a little UDF fonction that return Soundex of a string, when I install my Firebird
under Windows XP pro or 2003 server in Superserver mode, this UDF work fine, it's only when I want to use
Firebird in classical mode (on a server with 2 x quad core cpu, or on my workstation) that the call of my
function make a crash of firebird (function called from my application or between IBexpert, result is the same)
Firebird in classic mode crash ... and not in superserver mode ?????
any can help me and say what I make wrong !!!
man thanks
for your help
This after the little delphi code for create the DLL
library chb_udf;
uses
ShareMem,
SysUtils,
Classes,
StrUtils;
{$R *.res}
function ib_util_malloc(l: integer): pointer; cdecl; external 'ib_util.dll';
function fn_soundex(Name:PChar) : PChar; stdcall;
var
s: string;
begin
s := Soundex(LowerCase(Name),8);
Result := ib_util_malloc(Length(s) + 1);
StrPCopy(Result, s);
end;
exports
fn_soundex;
begin
end.
[Non-text portions of this message have been removed]
I have writing a Delphi Dll for a little UDF fonction that return Soundex of a string, when I install my Firebird
under Windows XP pro or 2003 server in Superserver mode, this UDF work fine, it's only when I want to use
Firebird in classical mode (on a server with 2 x quad core cpu, or on my workstation) that the call of my
function make a crash of firebird (function called from my application or between IBexpert, result is the same)
Firebird in classic mode crash ... and not in superserver mode ?????
any can help me and say what I make wrong !!!
man thanks
for your help
This after the little delphi code for create the DLL
library chb_udf;
uses
ShareMem,
SysUtils,
Classes,
StrUtils;
{$R *.res}
function ib_util_malloc(l: integer): pointer; cdecl; external 'ib_util.dll';
function fn_soundex(Name:PChar) : PChar; stdcall;
var
s: string;
begin
s := Soundex(LowerCase(Name),8);
Result := ib_util_malloc(Length(s) + 1);
StrPCopy(Result, s);
end;
exports
fn_soundex;
begin
end.
[Non-text portions of this message have been removed]