Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

События формы [D7, WinXP]


[Salo] phantom ©   (2007-04-11 16:47:00) 

Динамически создаю форму:
var fmWait: TfmWait;
...
....
fmWait:=TfmWait.Create(Self);
fmWait.ShowModal;
if fmWait.ModalResult = mrCancel then
begin
 ....
end;
fmWait.Free;

В форме при появлении она выполняет стадо действий, все отобразить и закрыться, вот тут-то и возникла загвоздка:

procedure TfmWait.FormActivate(Sender: TObject);
begin
Application.ProcessMessages;
...
...
...

Close; //Форма не закрывается
end;

Зато если на форму поставить кнопку в нее поместить Close и после завершения процедуры FormActivate, клацнуть по ней, то форма закрывается.
Народ подсобите: как ее правильно закрывать, в каком событии закрывать форму.


Германн   (2007-04-12 02:15:00) [1]


> Юрий Зотов ©   (12.04.07 02:02) [8]
> Закрыть форму из ее же метода - Release.
>
> Но действительно непонятно - на фига ее показывать, чтобы
> тут же закрыть?

Наверно нынче так модно делать Splash-формы :)


Германн   (2007-04-12 02:14:00) [2]


> Юрий Зотов ©   (12.04.07 02:02) [8]
> Закрыть форму из ее же метода - Release.
>
> Но действительно непонятно - на фига ее показывать, чтобы
> тут же закрыть?


Юрий Зотов   (2007-04-12 02:02:00) [3]

Закрыть форму из ее же метода - Release.

Но действительно непонятно - на фига ее показывать, чтобы тут же закрыть?


{RASkov}   (2007-04-11 22:52:00) [4]

> [5] [Salo]Phantom   (11.04.07 21:50)

Кстати - у меня закрывается:
procedure TForm1.FormActivate(Sender: TObject);
begin
Application.ProcessMessages;
Close;
end;

Это из [0]....
Что у тебя еще в FormActivate есть? Может Ехit'ы где есть и до Close дело не доходит...

А вообще не то событие выбрал у формы для этого:

> В форме при появлении она выполняет стадо действий, все отобразить и закрыться

> Ну, а отображение там довольно-таки долгое создается еще один поток,


{RASkov}   (2007-04-11 22:44:00) [5]

> [5] [Salo]Phantom   (11.04.07 21:50)
> И вообще у формы есть стандартные события из которых она
> может быть закрыта?

Например: OnPaint :')


[Salo]Phantom   (2007-04-11 21:50:00) [6]


> (на он-активейт послать самому себе мессадж, что неплохо
> бы закрыться)

Спасибо дельный совет. Его реализовал, но может поясниш в двух словах почему нельзя закрыть форму стандартным методом тут. И вообще у формы есть стандартные события из которых она может быть закрыта?


_Аноним   (2007-04-11 21:09:00) [7]


> Salo]phantom


На ОнАктивейт и не закроется. Или используй механиз пост-мессадж
(на он-активейт послать самому себе мессадж, что неплохо бы закрыться), или закрывай ее снаружи - там же, где показываешь (если это форма типа "прогресс").


Ega23   (2007-04-11 17:44:00) [8]


> Ну, а отображение там довольно-таки долгое создается еще
> один поток, вот и захотелось написать универсальный метод,
>  но шот боюсь желание уже потчти пропало:(


Если поток и форма - то VCL некошерно использовать.
Так, к слову...


[Salo]phantom   (2007-04-11 17:31:00) [9]


> Ведь есть же еще придурки в "селеньях" !)
>
> Я, форма, отобразила.
> И я, форма, тут же закрылась.
> А уж успел ли ты, юзер-придурок, увидеть то что я "отобразила"
> пере тем как я "клозанулась" - эт, юзер, твои проблемы)

К Сергей М.
Твой совет настолько делен что поднял только твою самооценку в твоих же глазах. Форму на то и форму чтоб спросить и о глупом, а при желании ты мог и не отвечать так как дельного совета ты мне так и не дал.

Ну, а отображение там довольно-таки долгое создается еще один поток, вот и захотелось написать универсальный метод, но шот боюсь желание уже потчти пропало:(


Сергей М.   (2007-04-11 17:06:00) [10]


> все отобразить и закрыться


Ведь есть же еще придурки в "селеньях" !)

Я, форма, отобразила.
И я, форма, тут же закрылась.
А уж успел ли ты, юзер-придурок, увидеть то что я "отобразила" пере тем как я "клозанулась" - эт, юзер, твои проблемы)


Наверх

Титульная страница Поиск, карта сайта Написать письмо