Una explicación de lo anterior:
Código:
procedure TForm1.Button1Click(Sender: TObject);
const
Texto: string = '';
begin
Caption := Texto;
Texto := Edit1.Text;
end;
Prueba como la variable Texto conserva el valor en forma estática aunque el hilo de ejecución ha salido del scope.
Recomendar.... todo según se necesite.
Saludos!