Форум: "Основная";
Текущий архив: 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