Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #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
Poder: 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
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 02:12:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi