Pb de creation UDF sous Delphi
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:
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:
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:
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
Citation:
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