Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Problemas al definir UDF (Funciones en una DLL) (https://www.clubdelphi.com/foros/showthread.php?t=32870)

pcicom 19-06-2006 17:03:55

Problemas al definir UDF (Funciones en una DLL)
 
Saludos...

Tengo un problema al definir las UDF en mi BD Firebird 1.5, el problema radica que al definir las funciones de mi propia DLL, el programa me manda mensajes de error de que la funcion no esta definida o que existe un problema con la funcion...

Despues de hacer varias pruebas detecte lo siguiente...

En mi BD no funcionan las UDF definidas de mi DLL.. pero si creo una BD nueva y defino las UDF de mis funciones de mi DLL, entonces si funcionan, entonces creo entender que el problema es mi BD, entonces lo que quisiera saber es como puedo saber y/o reparar mi BD para que mis UDF funciones sin ningun problema..

Para testear he estado utlizando el IBEXPERT ...

AGAG4 21-06-2006 00:22:24

Checa Esto
 
Lo único que hago cuando pongo algunas UDF's nuevas:
1.-Le doy Shutdown al Firebird
2.-Copio el archivo .dll a la ruta C:\Archivos de programa\Firebird\Firebird_1_5\UDF
3.-Activo Firebird y Listo....

pcicom 21-06-2006 05:49:15

Gracias por contestar... de echo lo que mencionas ya lo estoy realizando... he tenido problemas para crear una DLL que funcione con Firebird como una UDF..

En resumen esta es my funcion que necesito implementer

Código:


function Moratorios(nValor,nTasaM:Extended; dpHoy,dpVence,dpUPago:TDateTime):extended; cdecl;
Var
  nDias,nTasaD,nInteres:Extended;
 
begin

  nTasaD  := (nTasaM * 12) / 365;
  nDias    := dHoy - dUPago;
  nInteres := 0;
  if nDias>0 then
      nInteres := nValor * (nDias * nTasaD * 0.01);

  Result :=  nInteres;

end;

Como ves la funcion es exageradamente simple, y mi problema con la DLL y la UDF es extremadamente GRANDE...

Código:


DECLARE EXTERNAL FUNCTION f_Moratorios
    FLOAT,
    FLOAT,
    DATE,
    DATE,
    DATE
RETURNS FLOAT BY VALUE
ENTRY_POINT 'Moratorios' MODULE_NAME 'udf.dll'

Si me podrias echar una mano.. te agradeceria enormemente.... ya que tengo dias intentandolo...


La franja horaria es GMT +2. Ahora son las 13:56:51.

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