Bonjour à tous
j'ai hésité un peu avant de poster ici, mais dans les cas je serai redirigé en fonction de vos conseils:
voici le code delphi de l'udf (code emprunter dans la faq):
Voici la déclaration dans firebird :
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 library Madll; uses SysUtils, windows, Classes; {$R *.res} function ib_util_malloc(l: integer): pointer; cdecl; external 'ib_util.dll'; function ChangeMyString(const p: PChar): PChar; cdecl; var s: string; begin s := extractfilename(string(p)); Result := ib_util_malloc(Length(s) + 1); StrPCopy(Result, s); end; begin end.
voici ma requête d'appel à l'UDF :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DECLARE EXTERNAL FUNCTION CHANGEMYSTRING CSTRING(255) CHARACTER SET ISO8859_1 RETURNS CSTRING(255) CHARACTER SET ISO8859_1 FREE_IT ENTRY_POINT 'ChangeMyString' MODULE_NAME 'Madll.dll';
voici mon code d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT CHANGEMYSTRING(champ15) FROM MESINFORMATIONS
j'ai mis ma dll dans le dossier UDF de firebird et j'ai rédémarer mon serveur !Invalid token.
Invalid request BLR at offset 63.
Function CHANGEMYSTRING is not defined.
Module name or entrypoint could not be found.
ou ai je péché ?
Merci à tous
Partager