Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Showmodal liefert falschen Wert (https://www.delphipraxis.net/153205-showmodal-liefert-falschen-wert.html)

idefix2 24. Jul 2010 17:11

Showmodal liefert falschen Wert
 
Hallo,

im Moment hab ich wieder ein Brett vor dem Schädel:

Delphi-Quellcode:
procedure TloginForm.btAnmeldenClick(Sender: TObject);
begin
if (edUser.Text='') and (edPassword.Text='')
then begin
     ModalResult := mrOk;
     close;
     end
else showmessage ('Benutzer oder Password ungültig');
end;
Delphi-Quellcode:
x := LoginForm.ShowModal;
if x <> mrOk
Meine Loginform wird aufgerufen, ich gebe als Benutzername und Password nichts ein und klicke auf den Anmelden Knopf.
Im Debugger sehe ich, dass der Then-Zweig der Prozedur durchlaufen wird, Modalresult erhält den Wert mrOk (=1).
Aber Loginform.ShowModal liefert mrAbort (=2) als Ergebnis!

Der Button btAnmelden hat als Kind bkCustom.

zeras 24. Jul 2010 17:14

AW: Showmodal liefert falschen Wert
 
Was hat der Button für ein Modalresult, auf den du drückst?

idefix2 24. Jul 2010 17:17

AW: Showmodal liefert falschen Wert
 
zur Entwurfszeit mrNone

Code:
  object btAnmelden: TBitBtn
    Left = 208
    Top = 86
    Width = 121
    Height = 25
    Caption = 'Anmelden'
    Default = True
    DoubleBuffered = True
    ParentDoubleBuffered = False
    TabOrder = 2
    OnClick = btAnmeldenClick
  end

Hawkeye219 24. Jul 2010 17:30

AW: Showmodal liefert falschen Wert
 
Hallo,

der falsche Wert wird durch den überflüssigen Aufruf der Close-Methode gesetzt. Das Setzen von ModalResult reicht aus, um das Formular zu schließen.

Gruß Hawkeye

idefix2 24. Jul 2010 17:52

AW: Showmodal liefert falschen Wert
 
Danke, ich habe gewusst, es muss irgend ein dummer Fehler sein :wall:
Aber darauf, dass das close schaden könnte, wäre ich nicht leicht gekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz