Ver Mensaje Individual
  #1  
Antiguo 17-12-2004
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Reputación: 20
Héctor Randolph Va por buen camino
Problema con parámetros en UDF's

Hola a todos!

Utilizo FireBird 1.5.1, Delphi 7 y Windows XP; tengo problemas con los parámetros en las UDF's.

Escribí la siguiente función en una librería y la coloque en la carpeta <DIR_INSTAL_FIRBIRD>\UDF

Código Delphi [-]
library Project1;

{$E DLL}

{$R *.res}

function TEST(Value:Integer):Integer;cdecl;export;
begin
  Result:=Value*10;
end;

Exports
  TEST;

begin
end.

Posteriormente declare la función y un procedimiento para llamarla en mi base de datos.

Código SQL [-]
DECLARE EXTERNAL FUNCTION T1
    INTEGER
RETURNS INTEGER BY DESCRIPTOR
ENTRY_POINT 'TEST' MODULE_NAME 'project1'

Código SQL [-]
CREATE PROCEDURE PRUEBA 
RETURNS ( VAL INTEGER )
AS
BEGIN
  VAL=T1(10);
END

Si ejecuto el procedimiento me muestra lo siguiente:

Procedure executing results:
VAL = 193302400

Obviamente este no es el resultado que debería devolver y en general cualquier función que utilizo con parámetros INTEGER o DOUBLE tiene el mismo comportamiento.

Espero que alguién pueda ayudarme a resolverlo.

De ante mano muchas gracias.
Responder Con Cita