Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];

Вниз

События формы   Найти похожие ветки 

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

Динамически создаю форму:
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-11 17:06) [1]


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


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

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


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


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

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

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


 
Ega23 ©   (2007-04-11 17:44) [3]


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


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


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


> Salo]phantom


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


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


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

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


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

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

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


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

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

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

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

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

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

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


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

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

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


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


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


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


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

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



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

Форум: "Основная";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.041 c
8-1159440471
_ZeKa
2006-09-28 14:47
2007.06.10
Много анимированных GIF ов = много потоков?


3-1174465155
Iuliy
2007-03-21 11:19
2007.06.10
Выуживание ошибки Оракла через BDE


15-1179299944
noreg
2007-05-16 11:19
2007.06.10
EXCEL стал зеркальным


2-1179592485
Rafik
2007-05-19 20:34
2007.06.10
Как сменить приоритет у процесса


1-1176700809
bss
2007-04-16 09:20
2007.06.10
Как установить свой фонт для контролов при Enabled=false





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский