Hola,
Hay varias formas de conseguir lo que precisas. Puedes declarar las variables del "Form2" como variables públicas, de modo que estén accesibles desde "Form1". También puedes declarar dichas variables como propiedades de "TForm2", de manera que puedas acceder a las mismas, si es que las propiedades son públicas.
Si no lo son, o no quieres que lo sean, siempre puedes emplear algún método público que sirviera para iniciarlizar las propiedades/variables correspondientes desde "Form1". No sé yo si te he resuelto algo o te dejo con más dudas... si las tienes ya sabes que puedes exponerlas por aquí para que alguien trate de echarte una mano.
Un ejemplo utilizando propiedades públicas:
Código Delphi
[-]
unit Unit1;
interface
uses
Forms, Classes, Controls, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
Unit2;
procedure TForm1.Button1Click(Sender: TObject);
var
frm: TForm2;
begin
frm := TForm2.Create(Self);
frm.A := 'Una cadena';
frm.B := 'Otra cadena';
frm.ShowModal;
frm.Free;
end;
end.
Código Delphi
[-]
unit Unit2;
interface
uses
Forms;
type
TForm2 = class(TForm)
private
FA, FB: string;
public
property A: string read FA write FA;
property B: string read FB write FB;
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
end.