Dein Beispiel macht mit drei kleinen Änderungen das, was du warscheinlich erreichen willst.
Aber ich würde das Design überdenken und eine andere Lösung suchen.
1. Änderung Unit2:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.show;
end;
2./3. Änderung Unit1
Delphi-Quellcode:
implementation
{$R *.dfm}
uses Unit2;
procedure TForm1.FormHide(Sender: TObject);
begin
Form2.Enabled := True;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Form2.Enabled := False;
end;