Bonjour a tous

J'essaye de creer des UDF sous Delphi pour les utiliser sous FIREBIRD 2.0 (en utilisant le modele trouve sur : http://www.firebirdsql.org/index.php...&id=geldenhuis)

Voici le code delphi :
La libraire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
library UDF_Olivier;
 
uses
  UDF in 'UDF.pas';
 
{$R *.res}
 
exports
   UDF_Test,
   UDF_Test1;
begin
end.
et l'unite associee est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
unit UDF;
 
 
interface
uses
  SysUtils,
  Classes;
 
 
function UDF_Test(var
Width,Height:Integer):Integer; stdcall;
 
function UDF_Test1(var
Entree:pChar):pChar;  stdcall;
 
implementation
function UDF_Test(var
Width,Height:Integer):Integer;
begin
   Result:=Width+Height;
end;
 
function UDF_Test1(var
Entree:pChar):pChar;
begin
   Result := Pchar(UpperCase(String(Entree)));
end;
 
end.
La compilation ne pose pas de probleme et je stocke la DLL generee dans le repertoire 'UDF' de Firebird

Je declare l'UDF (test1) dans ma base avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
DECLARE EXTERNAL FUNCTION TEST1
  CSTRING(80) CHARACTER SET NONE
RETURNS CSTRING(80) CHARACTER SET NONE
ENTRY_POINT 'UDF_Test' MODULE_NAME 'UDF_Olivier.dll';
Mais lorsque j'essaye d'utiliser cette fonction dans une requete ou PS (ex :

select test1(b_bagueur.prenom) from b_bagueur

qui devrait afficher le prenom en majuscule m'indique
Invalid token.
Invalid request BLR at offset 79.
Function TEST1 is not defined.
Module name or entrypoint could not be found.

Quelqu'un a t'il une idee ?

merci d'avance

Olivier