Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.26;
Скачать: CL | DM;

Вниз

ShowModal   Найти похожие ветки 

 
SKYNET ©   (2003-05-13 12:09) [0]

Я столкнулся с такой проблемой: есть две формы Form1 и Form2. Если создать новое приложение - всё работает (форма2 создаёться а по нажатии на Button1 формы2 она закрываеться и появляеться форма1). А если Я делаю тоже самое в моей программе, то форма2 создаёться, по нажатии на Button1 форма2 закрываеться, создаёться форма1, а вот сверху опять появляеться форма2 и если нажать на Button1, то закрываеться всё приложение. Я даже удалял ВСЁ из моей программы - результат тот же.

procedure TForm1.FormShow(Sender: TObject);
begin
Application.CreateForm(TForm2, Form2);
Form2.ShowModal;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.Close;
end;


 
Петр ©   (2003-05-13 12:20) [1]

Добрый день.

Вообще-то я использую такую функцию для отображения модальных форм.

{ Процедура создания и отображения модальной формы }
Procedure ShowForm(FormClass : TFormClass);
Begin
With FormClass.Create(MainForm) do
try
ShowModal;
finally
Free;
end;
End; { ShowForm }

И вызываю ее:

ShowForm(TForm1);, где TForь1 - класс формы.

Если честно, то я немного не понял, что требуется сделать? В какой последовательности что создать.



 
LexusR ©   (2003-05-13 13:08) [2]

судя по сумбурному описанию
главная форма - форма1
но сразу при создании она должна закрыться модальной формой 2
которая убирается кнопкой Button1
конечно странно-но хозяин барин
во первых проверьте и удалите из автосоздания форму 2
меню Project-> Options
и уничтожайте форму 2 после закрытия

procedure TForm1.FormShow(Sender: TObject);
begin
Application.CreateForm(TForm2, Form2);
Form2.ShowModal;
Form2.Free;
end;


 
LexusR ©   (2003-05-13 13:12) [3]

а проще написать вызов как советовал Петр

procedure TForm1.FormShow(Sender: TObject);
begin
with TForm2.Create(Application) do
try
ShowModal;
finally
Free;
end;
end;






Страницы: 1 вся ветка

Текущий архив: 2003.05.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
3-83349
StillBird
2003-05-05 18:05
2003.05.26
Как передать имя базы данных как параметр процедуры ?


14-83736
Cooller
2003-05-07 12:47
2003.05.26
Кпасивая форма


1-83457
NewBegginer
2003-05-12 20:44
2003.05.26
Работа с масками вида xyz* ну или что-то подобное


7-83756
Vladislav
2003-03-26 11:14
2003.05.26
Всеми любимый GetVolumeInformation


1-83607
Zigs
2003-05-14 17:13
2003.05.26
Спецсимволы в TDBEdit (TEdit)