Ver Mensaje Individual
  #2  
Antiguo 30-10-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Hola.

No, el tipeado en Firebird es fuerte, los parámetros de entrada y salida deben tener un tipo determinado.

Tienes varias opciones.

A) En lugar de devolver un único valor, siempre devuelves tres valores, una cadena, un entero y un numérico (result_cadena, result_entero, result_numerico). En función del parámetro de entrada rellenas el parámetro de salida que corresponda (y tu aplicación Delphi, en función del parámetro de entrada, tendrá que leer el correspondiente parámetro de salida).

B) Haz que el SP devuelva siempre una cadena, puesto que en una cadena puedes poner un valor entero o numérico. Asi pués tienes que hacer

result = cast(:lo_que_sea as varhcar(100))

Naturalmente tu programa Delphi tendrá que volver a pasar esa cadena a Entero o Float, en función del parámetro de entrada (StrToInteger o StrToFloat)

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita