![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не отображается Label, пока не загрузится OLE объект [D7, XP]
IGo © (2006-12-04 14:05:00)OLE объект загружается несколько секунд. Я хочу на этот период времени вывести надпись (Label), чтобы пользователь подождал. Но надпись не появляется пока OLE объёкт не загрузится до конца.
Как с этим бороться.
Спасибо
tesseract (2006-12-05 12:22:00) [1]
> Anatoly Podgoretsky © (05.12.06 12:19) [17]
Он выполняет функцию в контексте главного потока. Но вызывается из дочерних.
Anatoly Podgoretsky (2006-12-05 12:19:00) [2]> tesseract (05.12.2006 11:01:16) [16]
> Который позволяет обращаться к GUI из дочерних потоков.
Из главного потока.
tesseract (2006-12-05 11:01:00) [3]
> Сергей М. © (04.12.06 14:29) [6]
> > zdm © (04.12.06 14:24) [3]Обращение к визуальным VCL-
> объектам в доп.потоке не допустимо.
Не допустимо, но есть Synchronize. Который позволяет обращаться к GUI из дочерних потоков.
Сергей М. (2006-12-05 08:30:00) [4]
> vidiv © (05.12.06 04:51) [14]
В случае с VCL - в сосновном потоке
vidiv (2006-12-05 04:51:00) [5]
> Сергей М. © (04.12.06 15:57) [13]
А как же, к примеру, визуализировать процесс работы отдельного потока? =)
Сергей М. (2006-12-04 15:57:00) [6]
> sniknik © (04.12.06 15:53) [12]
> до поры
Угу. Пока граблями по лбу не получил - можно все)
sniknik (2006-12-04 15:53:00) [7]> Ну уж форму то можно вызвать в отдельном потоке
можно вообще ВСЕ!!! ну, кроме того, что нельзя... а еще есть то, что не рекомендуется, плюс то, чего нельзя но вроде бы работает... до поры.
а вообще обсуждать чегото неконкретное милое дело, можно классно потрепаться.
Сергей М. (2006-12-04 15:19:00) [8]
> zdm © (04.12.06 15:16) [10]
Можно, но чревато непредсказуемыми последствиями.
Да и что значит "вызвать" ? Создать ? Визуализировать ?
zdm (2006-12-04 15:16:00) [9]
>
> > zdm © (04.12.06 15:10) [8]
>
>
> > формы или фреймы
>
>
> А это, по-твоему, не компоненты ?
Ну уж форму то можно вызвать в отдельном потоке
Сергей М. (2006-12-04 15:11:00) [10]
> zdm © (04.12.06 15:10) [8]
> формы или фреймы
А это, по-твоему, не компоненты ?
zdm (2006-12-04 15:10:00) [11]
> Сергей М. © (04.12.06 14:29) [6]
>
> > zdm © (04.12.06 14:24) [3]
>
>
> Обращение к визуальным VCL-объектам в доп.потоке не допустимо.
>
Я не имел ввиду компоненты, естественно. Просто нужно продумать доп. формы или фреймы, которые будут отображать инфу при загрузке.
Max Zyuzin (2006-12-04 14:32:00) [12]А если прежде чем начинать загружать OLE объект перерисовать форму?
Сергей М. (2006-12-04 14:29:00) [13]
> zdm © (04.12.06 14:24) [3]
Обращение к визуальным VCL-объектам в доп.потоке не допустимо.
zdm (2006-12-04 14:28:00) [14]пока выполняется одна "нить" то до её полного завершения ты ни чего и не увидишь, только отдельный поток.
IGo (2006-12-04 14:27:00) [15]Вывел через Edit. Он не пропадает в процессе загрузки. Использовал также Application.ProcessMessages(). Странно, что Label, StaticText исчезают.
zdm (2006-12-04 14:24:00) [16]выводить надпись на другой форме в отдельном потоке
IGo (2006-12-04 14:15:00) [17]Label вывожу до загрузки. Но в процессе загрузки он не появляется. А если Label вывести при создании формы, то в поцессе загрузки он просто пропадает, хотя расположен далеко от OLE
Elen (2006-12-04 14:09:00) [18]
> IGo
Вывести лабел до закрузки.