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