Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизАвтоматически уничтожаемое окно Найти похожие ветки
← →
konstantinov © (2004-05-01 00:06) [0]Как создать и через какое-то время уничтожить окно?
Пробовал:
procedure ShowMSG ( const MSG : string );
var Form : TForm;
L : TLAbel;
begin
Application.CreateForm(TForm,Form);
L := TLabel.Create(Form);
L.Parent := Form;
L.Caption := MSG;
Form.FormStyle := fsStayOnTop;
Form.Show;
Sleep(5000);
PostMessage(Form.Handle,WM_CLOSE,0,0);
Form.Free;
end;
окно есть, текста нет. Окно не на что не реагирует.
ставлю ShowModal;
текст есть, но окно не уничтожается.
Заранее спасибо.
← →
R (2004-05-01 06:36) [1]1.Поставь после Show - Application.ProcessMessages и
текст отрисуется.
2.Sleep-потоку не дается процессорная обработка вот и нет
реакции
3.Используй таймер или что то в этом роде
procedure Sleep_Ex ( const Int:Integer );
var
I:Integer;
begin
For I:=0 To Int Do begin
Sleep(100);
Application.ProcessMessages;
end;
end;
4.ShowModal приостановит дальнейшее выполнение процедуры,
следовательно уничтожать надо не вданной процедуре,
а например в OnTimer
← →
Mim1 © (2004-05-01 10:15) [2]
PostMessage(Form.Handle,WM_CLOSE,0,0);
Form.Free;
На момен уничтожения окна сообщение не отработает. Проще вызвать form.hide; form.free;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.031 c