Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как дождаться окончания рисования компонентов на форме

3.8K
24 апреля 2008 года
VovaL
50 / / 26.09.2005
Добрый день/утро/вечер/ночь.
Возникла проблема, которую не могу победить второй день.
Есть приложение, в начале работы которого надо вывести свою форму (made by hand) с сообщением о начале работы без кнопок(!), которая гасится после окончания некой процедуры. В этой процедуре много раз используется длинный Sleep по несколько секунд. Так вот саму форму вывести можно, а слова на ней (TLabel/TStaticText) появляются только после того, как процедура закончена и пришло время ее изничтожить.
Для простоты можно считать, что надо нарисовать форму с текстом, потом Sleep() и затем форма сразу удаляется.
Ни рисование обычным образом, ни ShowModal в треде, ни попытки как-то дождаться окончания вывода текста - ничего результатов не дало. Но ведь ShowMessage/MessageDlg могут выводиться сразу вместе с тектом да еще и с кнопкой до Sleep, значит и тут можно как-то выпутаться.
Может кто ступал на похожие грабли?
246
24 апреля 2008 года
GIZMO
1.8K / / 30.07.2004
Цитата: VovaL

Может кто ступал на похожие грабли?


Application->ProcessMessages()

11
24 апреля 2008 года
oxotnik333
2.9K / / 03.08.2007
че то не особо понятно что надо сделать...
вывести мессадж после создания всех объектов нельзя?
т.е.
 
Код:
for (int i=0; i< 100; i++)
{
  TLabel *l = new TLabel (this);
  l->Parent = this;
  Sleep (1000);
}
ShowMessage ("Готово!!!");
3.8K
24 апреля 2008 года
VovaL
50 / / 26.09.2005
Огроооомное спасибо!!! за
Application->ProcessMessages()

Пашет! А полтора дня тю-тю. Но хорошо что только полтора.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог