Einzelnen Beitrag anzeigen

Mojito

Registriert seit: 29. Okt 2012
39 Beiträge
 
#1

ungewollter doppelter Formularaufruf

  Alt 29. Okt 2012, 11:24
Hallo Liebe Delphi-Freunde,

als Anfänger bin ich mal wieder an einem (einfachen) Problem kleben geblieben. Ich habe eine Formular erstellt, indem man Einstellungen machen kann und dieses Formular über "OK" bzw. "Abbruch" wieder schließen kann. Die dazugehörige Funktion sieht dafür wie folgt aus:

Delphi-Quellcode:
// ruft das Formular modal auf, bis gueltige Eingabe oder Abbruch und gibt
// zurueck, ob OK oder Abbrechen geklickt wurde
function TFrmSettings.execute:boolean;
begin
     case ShowModal of
     mrOk:
     begin
       if not (FrmSettings.SpnEdtTaskNumber.Value<1) and not (FrmSettings.SpnEdtTaskNumber.Value>10)
             and (FrmSettings.RdGrpOperator.ItemIndex<>-1) then
             begin
             execute:=FALSE;
             ShowMessage(Correct);
             end
       else
             begin
             execute:=TRUE;
             ShowMessage(Fail);
             end;
    end;
    mrCancel: execute:=FALSE;

    end;

end;

Diese Funktion wird nun in der MainUnit aufgerufen:

Delphi-Quellcode:
procedure TFrmMain.BtnSettingsClick(Sender: TObject);
begin
repeat

FrmSettings.execute;
until not FrmSettings.execute ;

Das Problem ist, das immer 2 mal auf OK oder ABBRUCH geklickt werden muss bevor sich das Formular schließt. Habt ihr eine Idee, was ich da übersehen habe?

Vielen vielen Dank

Geändert von TBx (30. Okt 2012 um 07:17 Uhr) Grund: DElphi-Tags gesetzt, bitte zukünftig selber machen
  Mit Zitat antworten Zitat