Hm. Also ich habe das so verstanden: Dein Hauptformular öffnet über eine Prozedur eine
DB-Verbindung. Wenn diese fehlschlägt, dann soll ein Unterformular hochkommen. Wenn das mit z.B. OK geschlossen wird, dann soll nocheinmal der Verbindungsversuch unternommen werden, usw. richtig?
Wie wäre es denn, wenn Du keine globale Instanz des Unterformulars benutzt, sondern das Formular nur lokal erzeugst, solange es benötigt wird?!
z.B:
Delphi-Quellcode:
procedure VerbindungAufbauen;
begin
...
with TSetupForm.Create(nil) do
begin
if ShowModal=mrOK then
begin
nochmalVersuchen;
end;
end;
Free;
...
end;
Dadurch wird das Formular dynmamisch erzeugt, und wenn OK aufgerufen wird, dann wird die if-Anweisung TRUE, und der entsprechende Code wird ausgeführt. Dazu muss deinem OK-Button im Setup-Form natürlich der ModalResult-Wert mrOK zugewiesen werden.