Форум программистов, компьютерный форум CyberForum.ru

Потоки в среде Borland - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не выключается компьютер! http://www.cyberforum.ru/cpp-beginners/thread481661.html
Вот так я делаю .... ExitWindows(EWX_POWEROFF, NULL); .... так я получаю SE_SHUTDOWN_NAME(WinXP/NT/2k) ....
C++ Преобразование типа Есть две переменные: CString m_strVal; long m_lVal; Как c помощью MFC преобразовать тип long в CString, чтобы можно было прировнять: m_strVal=m_lVal; //error ? http://www.cyberforum.ru/cpp-beginners/thread481605.html
C++ Как динамически задать Свойство Default класса CButton
Как свойство командной кнопки сделать = Default при изменении значения в текстовом поле, или при возникновении любого другого события?
Научите чайника, или ActiveX и runtime C++
Сможет ли кто-нибудь провести пошагово или выслать пример по решению задачи: Создаем ActiveX dll на основе ATL Создаем Full Contol что бы не мудрить, создаем один метод и одно событие (любое) Контрол естественно видимый. Эти шаги особых проблем не вызывают. А вот главное: Необходимо поместить этот контрол на клиентское окно приложения, например Excel (на то самое, серое, класс XLDESK)...
C++ Как в w2k перехватить Ctrl+Alt+Del? http://www.cyberforum.ru/cpp-beginners/thread481465.html
Уважаемый All, помоги. Спасибо.
C++ Как отловить событие перехода с контрола на контрол в диалоге? Есть диалог. На нём лежит несколько контролов(нестандартных).Как средствами самого диалога отловить событие перехода с контрола на контрол?Т.е., например, нельзя использовать сообщение EN_KILLFOCUS,потому что в моём случае такие контролы, которые ничего подобного не посылают. подробнее

Показать сообщение отдельно
kostushock
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 24
05.01.2010, 12:39     Потоки в среде Borland
Доброе время суток, дорогие форумяне)!

Суть вопроса в следующем. Есть функция (метод формы), которая выполняет долгое и ресурсоёмкое действие - строит здоровенный отчет. Естественно, в момент построения этого отчета приложение начинает 'подвисать'. Формы приложения становятся 'белыми' (непрорисованными и пр.). Для того, чтобы избавиться от этого глюка решил построение отчета вынести в отдельный поток, используя для этого стандартный класс TThread. Забил код построение отчета в метод Execute потока, из формы создаю поток и запускаю его на выполнение. Мне надо обязательно дождаться окончания процесса построения отчета (того момента, как поток отработает). Для этого я в форме после создания потока и его запуска пишу
MyThread->WaitFor(); //Типа дожидаюсь окончания выполнения потока.
Но в этом случае опять происходит 'подвисание' основной программы.
У кого есть какие идеи как дождаться окончания выполнения потока без 'подвисания' основной программы. Или вообще это лучше делать не через потоки.
Заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru