FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
UDF's para Firebird con FreePascal/Lazarus
Colegas del Foro,
Estoy empezando a hacer mis primeros pinitos programando librerias, y las estoy haciendo en Lazarus/FreePascal, ya que yo utilizo Firebird con Linux, y Lazarus me da la ventaja de poder compilar en varios SO. Bien, no he tenido mucha suerte con el tema, asi que pregunto a ver si alguien podría darme una mano. Buscando información en Internet, cosa que mucho no encontré (en castellano por supuesto), he llegado a crear esto: Código Delphi [-]library MisUDFs; {$mode objfpc}{$H+} uses Classes; function Duplicar(var valor:real):real;export; begin result:=valor*2; end; exports Duplicar name 'Duplicar'; begin end. Como ven es una simple libreria con una sola funcion llamada Duplicar que simplemente toma un valor y lo multimplica por 2 y listo. Luego publique esta UDF en Firebird 1.5 (la que uso), de la siguiente manera: Código SQL [-]DECLARE EXTERNAL FUNCTION DOBLE DOUBLE PRECISION RETURNS DOUBLE PRECISION BY VALUE ENTRY_POINT 'Duplicar' MODULE_NAME 'libMisUDFs'; Hasta aqui todo perfecto, ningun error, luego para probar la UDF en Firebird, ejecute la siguiente sentencia: Código SQL [-]SELECT precio, doble(precio) FROM ventaDET pero el resultado no es el deseado, lo que sale es lo siguiente: PRECIO DOBLE ------ ----- 698.940 0.000 412.790 0.000 ....... ..... 123.010 0.000 Como ven en la columna DOBLE siempre obtengo el resultado 0.000. Puede ser que el problema este en los tipos de datos, cosa que yo realmente no tengo claro, si en este caso en FreePascal utilizo un dato de tipo real, que tipo de dato debería utilizar en FireBird? Disculpen si este no es la lista adecuada para hacer esa consulta, pero se que hay gente muy capacitada en la lista que utiliza este tipo de herramientas. Desde ya muchas gracias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ayuda para usar lazarus | Robert01 | Linux | 9 | 21-08-2006 12:09:35 |
FreePascal Compilar en Linux | marceloalegre | Linux | 0 | 30-05-2005 21:24:48 |
...Freepascal o Delphi 2005.... | Jure | Noticias | 0 | 21-05-2005 17:16:51 |
Problema con parámetros en UDF's | Héctor Randolph | Firebird e Interbase | 5 | 21-12-2004 08:59:55 |
UDF's y php | laaccaal | Firebird e Interbase | 1 | 05-07-2004 14:58:22 |
|