| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Странная ошибка E2027 |
| Автор: SIRIUStar 7.12.2007, 14:23 |
| Здравствуйте! проблема такая: делаю клиент чата, сообщения принимаю в отдельном потоке, чтоб пользователь увидел сообщение я в этом потоке делаю видимой форму PrivateForm используя метод Show. При этом она появляется пустая и приложения конкретно зависает! Никаких экскепшонов не вылетает. Только когда я в дебаге смотрю адрес функции Show там написанно E2027.. что делать?? |
| Автор: xvr 7.12.2007, 14:32 | ||
VCL'ные методы можно вызывать ТОЛЬКО в основном main потоке программы. Используй TThread::Synchronize |
| Автор: Lazin 7.12.2007, 14:33 |
| А ты пользуешься Synchronize для вызова Show? |
| Автор: SIRIUStar 7.12.2007, 14:35 |
| Synchronize? А можно поподробнее?? Я просто еще с таким не сталкивался) |
| Автор: Lazin 7.12.2007, 14:56 |
| В классе TThread есть такой метод, он получает на вход ф-ю и вызывает ее, приостанавливая основной (gui) поток. |
| Автор: SIRIUStar 7.12.2007, 16:10 |
| Всем спасибо! Проблема решена! Сделал поток через TThread и добавил синхронизацию! все работает))) |