Debe ser una tontería como una casa, pero me he engorilado y no lo veo.
Me explico: tengo una función, le declaro una string privada llamada kk
y le asigno el valor devuelto por una función y luego pinto el valor devuelto:
kk=traducir();
write(0,10,10,0,kk);
La función traducir solo tiene esto:
function traducir()
private
string retorno;
end
begin
retorno="prueba";
write(0,10,20,0,retorno);
return retorno;
end
El write dentro de la función traducir obviamente devuelve "prueba", pero el otro devuelve 0
¿Qué estoy haciendo mal?
Cuando declaras una funcion tienes que especificar el tipo de valor devuelto, que por defecto es INT: http://wiki.bennugd.org/index.php?title=Function
Vale, gracias, llevaba tal nivel de ofuscación que habría sido incapaz de ver un elefante.
Después de eso aún he tenido que declarar la función con declare y ya ha empezado a funcionar.
Gracias!