Форум: "Начинающим";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
ВнизЗакрытие формы Найти похожие ветки
← →
Viconia © (2006-05-13 16:54) [0]У меня главной формой является окошко с паролем. Когда пароль вводится, оно скрывается и появляется вторая форма. В form2 на кнопку выход я прописала form1.close. Но возникает проблема - если щелкать на кнопку "крестик" на шапке формы, но form2 закрывается, но form1 остается скрытой, т.е. приложение не закрывается. Как сделать так, чтобы при нажатии на "крестик" form1 закрывалась?
← →
Der Nechk@ssoff © (2006-05-13 17:01) [1]На form1 наверное есть кнопка для проверки пароля? Проверяй пароль,если пароль=true то form1.close; или showmessage("Неверныепароль!");
← →
Viconia © (2006-05-13 17:05) [2]Так если у меня form1 главная, то если я выполню form1.close у меня приложение закроется полностью.
← →
easy © (2006-05-13 17:08) [3]http://dfc.com.ru/password.zip 2,4 kb
← →
Viconia © (2006-05-13 17:15) [4]Я, наверное, немного неправильно сформулировала:
Как сделать так, чтобы при нажатии крестика на шапке формы form2 одновременно закрывалась и Form1
← →
Viconia © (2006-05-13 17:28) [5]to easy:
я на делфи первый раз прогу делаю, поэтому еще плохо разбираюсь:
а если у меня много форм, мне нужно все application.createform писать
Application.Initialize;
with TForm1.Create(Application) do begin
try
Showmodal;
if (ModalResult=mrOK) and (Edit1.text="password") then begin
Application.CreateForm(TForm2, Form2);
Вот тут, да?
Application.Run;
end;
finally
Free;
end;
end;
← →
Шпиён (2006-05-13 17:52) [6]"Повесить" на TForm2.OnClose:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.Close;
end;
← →
Viconia © (2006-05-13 18:03) [7]Большое спасибо всем!!! Разобралась-таки:))))
← →
Жуков Олег (2006-05-13 22:03) [8]To Viconia -
Лучше изначально не делать форму для ввода пароля главной, от этого только проблемы.
В Delphi главной становится первая создаваемая форма, у которой Owner=Application. Поэтому можно сделать так:function CheckPassword(): Boolean
var
Form: TInputPasswordForm;
begin
Form := TInputPasswordForm.Create(nil); // т.к. Owner <> Application, эта форма не станет главной
try
Result := Form.ShowModal() = mrOk;
if Result then
Result := Form.EditPassword.Text = "12345"; // мой секретный пароль
finally
Form.Free();
end;
ebd;
А в файле DPR использовать:if CheckPassword() then
begin
// Тут создавать главную форму, и делать всё остальное что нужно для запуска программы
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c