Modificar constantes en tiempo de ejecución es imposible, ya que el compilador reemplaza la constante por el valor, por lo que no existe una "variable" con su contenido. Intenta compilar esto:
Código:
SOpenFileTitle := 'Abrir';
Pero... si utilizas constantes tipada, si puedes hacerlo ya que estas constantes funcionan como variables, a no ser que la directiva {$J-} este activa.
Código:
const
MI_CONSTANTE : string = 'delphi.com.ar';
procedure TForm1.Button1Click(Sender: TObject);
begin
MI_CONSTANTE := 'Hola!';
end;
Si lo que quieres es modificar los resourcestrings en tiempo de ejecución, te recomiendo probar el ejemplo RichEdit que puedes encontrar en la carpeta Demo, que es un ejemplo de una aplicación MultiLenguage.
Saludos!