(?) Класс + Многопоточность

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

Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Да никаких проблем...
Я намеренно для простоты и наглядности вынес тело функции в глобальное пространство, можешь сам его поместить внутрь класса как статический встроенный метод...
У меня подобный код работает и в том и в другом вариантах...

Код: Выделить всё

// Файл MyDlgClass.h
//===============

// Объявление класса...

class CMyDlgClass : public <базовый класс>
{
 public:
 CMyDlgClass(); // конструктор
 ~CMyDlgClass(); // деструктор
 // Ещё какие-то методы и данные...
 // ...................

 // Эта функция выполняется в отдельном потоке... 
  static unsigned __stdcall DlgConfigFunc(void *v) 
  { 
   if (!v) return 0; 

   ((CMyDlgClass*)v)->UpdateDlgConfig(); 
   return 1; 
  }

  void UpdateDlgConfig(); 
}

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

Но хотелось бы всетаки запускать функцию-член класса что бы было поменьше глобальных функций.
Зачем глобальную? Можно статическую.
Нестатический метод класса НЕ МОЖЕТ быть функцией потока: у них разные сигнатуры, и что хуже, соглашения по вызову.
Какой-то человек вот тут вот сделал обобщенный подход
http://www.codeproject.com/win32/callback_adapter.asp
2B OR NOT(2B) = FF
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

2Absurd

Смотрел. Впечатлен. Но не очень :) Написать 6К кода из соображений... хм, эстетических - ну не знаю... Как чистое искусство признаю, но практической пользы в этом не вижу. ИМХО, конечно
Ответить