Страницы

Поиск по вопросам

суббота, 21 декабря 2019 г.

Закрытые текущего окна в Delphi 7 и открытие следующего по нажатию кнопки

#delphi #delphi_7


Как при нажатии на кнопку (Log In), закрыть окно авторизации (Form1) и открыть основную
программу (Form2)?

Код:

procedure TForm1.LogInButtonClick(Sender: TObject);
var
  pw:string;
begin
  pw := 'NXJ';
  if PasswordEdit.Text = pw then
  begin
    Form1.Close;     {вот эта строка полностью закрывает программу}
    Form2.Show();
  end
  else
    ShowMessage('Wrong password');
end;

    


Ответы

Ответ 1



Откройте Ваш .dpr файл (Project - View Source) и посмотрите порядок создания форм. Форма, которая создается первой с помощью Application.CreateForm, становится главной формой приложения. Ее закрытие ведет к выходу из программы. Поменяйте местами строчки, создающие формы.

Ответ 2



Судя по всему, вы всё-таки основной формой называете не родительскую, а ту, в которой затем вы будете проводить основные действия. Тогда стоит сделать это по-другому: <...> begin Form1.Visible:=false; Form2.Show; end <...> Что вы потом будете делать с Form1 - уже на ваше усмотрение. Делайте это из методов Form2, но, в любом случае, вызов Close для родительской формы вызовет завершение программы. Либо вам стоит пересмотреть подход и вызывать форму с логином из родительского окна, тогда затем можете смело ее закрывать.

Комментариев нет:

Отправить комментарий