1
MessageDlg
を呼び出すと、モーダルフォームが消えます。
避け方モーダルフォームの上にメッセージを表示
...
LoginForm_Create; //FfrmLoginForm created here
try
if FfrmLoginForm.ShowModal = mrOk then
begin
Fuser := db_authuser(FfrmLoginForm.edtUserName.Text, FfrmLoginForm.edtPassword.text);
if Fuser <> nil then
result := 1
else begin
MessageDlg('Username or password invalid', mtError, [mbOK], 0);
result := -2;
end;
end else //mrCancel
result := -1;
finally
LoginForm_Close; // << FfrmLoginForm.Release;
end;
...
これは、残りのコードが* After * ShowModalの後に実行されるためです。あなたがすべきことは、その認証コードを入れることです。 FfrmLoginForm.OnShow()ハンドラに追加します。 ModalResultを成功または失敗を知らせるように設定できます。 –