for (int i=0; i< 100; i++)
{
TLabel *l = new TLabel (this);
l->Parent = this;
Sleep (1000);
}
ShowMessage ("Готово!!!");
Как дождаться окончания рисования компонентов на форме
Возникла проблема, которую не могу победить второй день.
Есть приложение, в начале работы которого надо вывести свою форму (made by hand) с сообщением о начале работы без кнопок(!), которая гасится после окончания некой процедуры. В этой процедуре много раз используется длинный Sleep по несколько секунд. Так вот саму форму вывести можно, а слова на ней (TLabel/TStaticText) появляются только после того, как процедура закончена и пришло время ее изничтожить.
Для простоты можно считать, что надо нарисовать форму с текстом, потом Sleep() и затем форма сразу удаляется.
Ни рисование обычным образом, ни ShowModal в треде, ни попытки как-то дождаться окончания вывода текста - ничего результатов не дало. Но ведь ShowMessage/MessageDlg могут выводиться сразу вместе с тектом да еще и с кнопкой до Sleep, значит и тут можно как-то выпутаться.
Может кто ступал на похожие грабли?
Цитата: VovaL
Может кто ступал на похожие грабли?
Application->ProcessMessages()
вывести мессадж после создания всех объектов нельзя?
т.е.
Код:
Application->ProcessMessages()
Пашет! А полтора дня тю-тю. Но хорошо что только полтора.