Einzelnen Beitrag anzeigen

OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#16

Re: Event: Form über Schließen-Kreuz beenden

  Alt 1. Okt 2007, 14:57
Ach so, jetzt verstehe ich langsam. Also geht es dir sonstwo vorbei, ob der Benutzer nun Alt+F4 oder X gedrückt hat, du willst nur wissen, ob das der Fall war oder dein Abbrechen-Button, der im Endeffekt die Prozedur abbricht, die aber wiederum das Schließen vornimmt. Kann man das ungefähr so zusammenfassen:
Delphi-Quellcode:
begin
  while not CancelClicked do begin
    DoSomething;
  end;
  Close;
end;

procedure TMyForm.CancelButtonClick(...);
begin
  if MessageDlg(...) = mbYes then begin
    CancelClicked := true;
  end;
end;
?

Wenn ja, entzieht sich meiner Kenntnis, warum OnCloseQuery nicht so aussieht:
Delphi-Quellcode:
procedure TMyForm.FormCloseQuery(...);
begin
  CanClose := true;
  if not CancelClicked and not Done then begin
    if MessageDlg(...) = mbYes then begin
      CancelClicked = true;
      CanClose := false;
    end
  end
end;
Done müsste dann natürlich noch am Ende der Bearbeitung (aber vor dem Close) auf true gesetzt werden. Oder hab ich da einen Denkfehler?
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat