Hola porque no le pasas por parametro a la funcion change_title() la referencia del objeto TFORM
algo asi:
Código Delphi
[-]unit effects;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils,Forms;
procedure changeTitle(form:TForm; name_form:String);
implementation
procedure changeTitle(form:TForm; name_form:String);
begin
form.Caption:=name_form;
end;
end.
Este es el primer formulario tiene dos botones el primer para ejectuar la segunda ventana y el segundo
boton para cambiar el titulo de la segunda ventana
Código Delphi
[-]var
Form1: TForm1;
implementation
{$R *.lfm}
uses
Unit2,effects;
procedure TForm1.Button1Click(Sender: TObject);
begin
Unit2.Form2.ShowModal;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
changeTitle(Form2,'he sido cambiado');
ShowMessage('Nombre cambiado correctamente');
end;
end.
Obviamente yo estoy suponiendo que ya tienes las dos ventanas creadas en tu proyecto y la unit llamada effects
el ejemplo esta hecho en lazarus 1.4 pero me imagino que no tendra problemas en funcionar en Delphi