Вопрос № 21480: Здравствуйте, уважаемые эксперты. Как в AfxBeginThread передать первым параметром не просто функцию, а метод класса? Требуется обработчик нажатия на кнопку в программе запустить в отдельном потоке. Обработчик является методом класса окна и содержит в...
Вопрос № 21.480
Здравствуйте, уважаемые эксперты. Как в AfxBeginThread передать первым параметром не просто функцию, а метод класса? Требуется обработчик нажатия на кнопку в программе запустить в отдельном потоке. Обработчик является методом класса окна и содержит в себе много методов и переменных этого класса. Очень нужно получить ответы, так как это дипломный проект, который будет сдаваться через месяц. Очень желательно писать на мыло.
Приложение:
Отправлен: 29.05.2005, 09:13
Вопрос задала: yeste (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: Jadd
Здравствуйте, yeste!
Очень желательно все-таки узнать конечную задачу проекта или то, для чего все это планируется. Не совсем ясно почему обработчик нужно пихать в поток. Зачем в AfxBeginThread передавать метод класса? Первым параметром идет функция трэда. исходя из синтаксиса: UINT MyControllingFunction( LPVOID pParam ); Можно описать такой же метод в классе и передать CRuntimeClass. Смотрите внимательно в описание в MSDN. Каков смысл обработки нажатия в потоке? Посмотрите в MSDN описание макроса RUNTIME_CLASS. Там же есть и пример.
Класс должен быть потомком CObject и объявляться с DECLARE_DYNAMIC, DECLARE_DYNCREATE, или DECLARE_SERIAL. Короче все в этой статье есть. Удачи.
ЗЫ: если все равно не получится, пиши, подумаем.
--------- Hakuna matata
Ответ отправил: Jadd (статус: 5-ый класс)
Отправлен: 29.05.2005, 14:42
Отвечает: yatagan
Здравствуйте, yeste!
да, там с потоками есть свои запарки... но так, на пальцах сложно обьяснить... надо на примере... сочинять пример мне сейчас некогда, поскольку очень ограничен во времени. пришли мне кусок своего кода, я покажу как переделать его для запуска в потоке и пришлю тебе обратно. если хочешь, дай свое мыло, я скину тебе мою програмулину, которую недавно наваял-- там как раз переплетаются разные классы, их методы и потоки...
TAPTAK@pisem.net
--------- Україна понад усе!
Ответ отправил: yatagan (статус: 1-ый класс)
Отправлен: 29.05.2005, 15:23