Hola:
En principio la función que me has pasado, si que lo cambia dentro de la función, pero cuando regresa la variable permance igual. Buscando por internet he visto la solución:
Código Delphi
[-]
procedure TForm1.CambiaCadena(Cadena: pstring);
begin
cadena^ := cadena^ + ' algo más';
end;
procedure TForm1.Button1Click(Sender: TObject);
var
cadena : string;
begin
cadena := 'Hola';
cambiacadena(@cadena);
showmessage(cadena);
end;
La duda que tengo, es si un string es un puntero, porque no se comporta como tal.
Saludos,
JL