![]() |
|
![]() ![]() ![]() |
|
deniska |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 398 Регистрация: 1.7.2005 Где: Троицк Репутация: 1 Всего: 0 |
ПРоблема такая:
нужна создать класс производный от CThread допустим СMyThread у CThread есть метод Create у которого есть параметр указатель на функцию, которую поток должен выполнить. в этот параметр надо передать указатель на метод, описанный в СMyThread например метод типа UINT Execute (PVOID) пытался по всякому ну никак ![]() |
|||
|
||||
xTr1m |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Простой способ создания рабочего потока через функцию AfxBeginThread (Execute, pParam)
Делаешь так : 1) Объявляешь в переменную потока в главном окне, и функцию Execute
2) Допустим, что поток начинается при нажатии кнопки. Делаем так
И все, дальше управление передается функции Execute, которую ты определил |
||||
|
|||||
deniska |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 398 Регистрация: 1.7.2005 Где: Троицк Репутация: 1 Всего: 0 |
все заработало просто функцию надо было static сделать. спасибо xTr1m
![]() можно закрыть |
|||
|
||||
Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 12 |
Поток-то для чего нужен? Если просто выполнять какие-то долгие служебные действий, то действительно, нужно делать так, как сказал xTr1m, но в этом случае тебе и класс ,производный от CThread, создавать не надо.
Если же ты хочешь использовать механизм, характерный для интерфейсного потока (например, посылка потоку сообщений и т.п), а большую часть времени поток будет простаивать - вот тогда тебе действительно нужно создавать класс, производный от CWinThread. Если да - могу дать как пример выписки из своей программы, все прекрасно запускается/останавливается. -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
takedo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 1.6.2005 Репутация: нет Всего: 3 |
Dreamer_0x01
А можешь мне выслать? Просто очень интересно ![]() ![]() -------------------- я не гольфист - я хоккеист |
|||
|
||||
threef |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 1 Всего: 10 |
Интерфейсный поток позволяет тебе
1.Действительно параллельно работать в двух разных окнах 2.Использовать один DC на несколько потоков |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |