вопрос по использованию функции AfxBeginThread

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Udaw
Сообщения: 6
Зарегистрирован: 08 окт 2004, 14:33
Контактная информация:

Есть функция AfxBeginThread. У неё два обязательных параметра , адрес функции потока и параметр. Функция потока должна иметь след. вид:
UINT proc1(LPVOID Param)
{
..........
}
Вопрос: Как сделать функцией потока функцию какого-нить класса?
т.е. в потоке я хочу вызывать функцию, которая принадлежит какому-нить классу, но тогда возникает ошибка - несоответствие параметров.
И еще вопрос, попроще.
Как можно скрыть обьект класса CRichText по нажатию какой-нить кнопки в диалоговом окне.
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

П.1 - никак. Метод класса на самом деле неявно подразумевает использование указателя на сам объект и поэтому не может использоваться как функция потока.

П.2: my_ctrl.ShowWindow(SW_HIDE);
Udaw
Сообщения: 6
Зарегистрирован: 08 окт 2004, 14:33
Контактная информация:

Пасиба!
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

П.1 - никак. Метод класса на самом деле неявно подразумевает использование указателя на сам объект и поэтому не может использоваться как функция потока.
Вообще-то, когда отвечают на подобный вопрос, обычно упоминают возможность передачи через LPVOID Param указателя на какой-то объект. Например, указателя this.
2B OR NOT(2B) = FF
Ответить