Zitat:
Was muss ich anders machen?
Alles.
Entweder du erzeugst dir in deinem Button-Click einmalig ein TForm2, benutzt es und wirfst es danach in den Müll. Beispiel:
Delphi-Quellcode:
procedure TForm1.btnButton1Click(Sender: TObject);
var
meinFormular: TForm2;
begin
meinFormular := TForm2.Create(nil);
try
meinFormular.ShowModal();
finally
meinFormular.Destroy();
end;
end;
Oder du machst mit deinen globalen Variablen weiter, dein Form2: TForm2 existiert für die gesamte Zeit des Programms und du zeigst es einfach nur einmal im Button-Click einmal modal an:
Delphi-Quellcode:
procedure TForm1.btnButton1Click(Sender: TObject);
begin
Form2.ShowModal();
end;