procedure TForm1.Button1Click(Sender: TObject);
var
F: TForm2;
T: TComponent;
begin
t := Form1.FindComponent('Form2');
if t <> nil then
begin
with T as TForm do
begin
Show;
end;
end
else
begin
F := Tform2.Create(Self);
F.Show;
end;
end;
Con esto te ahorras tener una variable por formulario que crees.