Hola jersonjn.
Agregando algo más a lo que te comenta el amigo
escafandra, si en Form2 tenes declarado un
procedimiento(no método) en la sección de interface, tendrías que poder llamarlo sin problemas en forma dirécta desde Form1:
Form1:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
if not Assigned(Form2) then
Form2:= TForm2.Create(Self);
Form2.Show; Procedimiento; end;
Form2:
Código Delphi
[-]
unit Unit2;
interface
uses
...
type
TForm2 = class(TForm)
...
end;
procedure Procedimiento;
...
El comentario sobre
ShowModal es por que la línea que invoca al procedimiento en Form1, no se ejecutará hasta que se cierre Form2.
Y si además llegaras a tener en Form2 algo como
Código Delphi
[-]
...
procedure TForm2.FormDestroy(Sender: TObject);
begin
FreeAndNil(Form2);
end;
con seguridad obtendrás una excepción.
Saludos.