Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Странная проблема с ShowMessage [D7, XP]


Alex_C ©   (2007-11-21 13:56:00) 

У меня в отдельном TThred'е выполняются некоторые действия. И если пользователю нужно выдать сообщение, использовал ShowMessage. Однако он появлялся на экране не в обычную величину, а то во весь экран, то с бесконечной шириной, выходящей за пределы экрана. При замене его на Windows.Messagebox - все ок!
Я так понимаю, тут проблема в том что нить обращалась при вызове ShowMessage к основному потоку или нет?


Alex_C   (2007-11-21 19:41:00) [1]

Ок! Всем спасибо за объяснение причины!


Amoeba   (2007-11-21 15:38:00) [2]


> Я так понимаю, тут проблема в том что нить обращалась при
> вызове ShowMessage к основному потоку или нет?

Правильно понимаешь. Если обращаться к VCL в доп. потоке, то это можно делать только через Synchronize.


tesseract   (2007-11-21 14:01:00) [3]


> Я так понимаю, тут проблема в том что нить обращалась при
> вызове ShowMessage к основному потоку или нет?


Да. В потоках работать с GUI вообще не рекомендуеться. Лучше посылай сообщение основному потоку, пусть он показывает, что нужно.


Сергей М.   (2007-11-21 14:01:00) [4]

Вызов ShowMessage в доп.потоке недопустим.


Наверх

Титульная страница Поиск, карта сайта Написать письмо