Ver Mensaje Individual
  #1  
Antiguo 17-09-2010
ARPE ARPE is offline
Miembro
 
Registrado: oct 2003
Posts: 11
Reputación: 0
ARPE Va por buen camino
UDF y parámetros

Hola a tod@s, necesito una aclaración, por más que busco no encuentro.

Código SQL [-]
DECLARE EXTERNAL FUNCTION Prueba
    INTEGER,
    CSTRING(50)
RETURNS PARAMETER 2
ENTRY_POINT 'Prueba' MODULE_NAME 'UDFs.dll';

con la declaración de udf anterior que retorna una cadena... ¿se necesita reservar memoria en la función o se encarga Firebird?, es decir

esto:
Código Delphi [-]
function Prueba(Var numero: integer): PChar;
Var
  Cadena: String;
  L: integer;
Begin
  Cadena := IntToStr(Numero);
  L := Length(Cadena);
  Result := ib_util_malloc(L + 1);
  Result := StrPLCopy(Result, Cadena, L);
end;

o esto:

Código Delphi [-]
function Prueba(Var numero: integer): PChar;
Var
  Cadena: String;
  L: integer;
Begin
  Cadena := IntToStr(Numero);
  L := Length(Cadena);
  Result := StrPLCopy(Result, Cadena, L);
end;

Result := ib_util_malloc(L + 1); ¿es necesaria esta línea?
creo que no, pero...

saludos y gracias de antemano
Responder Con Cita