Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FormCloseQuery FormShowing abfrage

  Alt 23. Feb 2011, 21:43
Moin Capa,

hier mal ein anderer Ansatz:


Delphi-Quellcode:
var
  i : Integer;

begin
  for i := 0 to Application.ComponentCount-1 do begin
    if Application.Components[i] is TForm then begin
      if (Application.Components[i] as TForm).Visible and
         ((Application.Components[i] as TForm).Tag = 1) then begin
        CanClose := False;
        break;
      end;;
    end;
  end;
  if not CanClose then MessageBox(self.Handle,'Erst alle anderen Formulare schliessen','Fehler',MB_ICONERROR);
end;
Alle Unterformulare bekommen, entweder manuell im Objektinspektor, oder per Programm im OnCreate die Eigenschaft Tag auf 1 gesetzt (Tag ist ein beliebig verwendbarer Integerwert).
Sobald eines sichbar ist, und Tag=1 ist darf das Hauptformular nicht geschlossen werden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat