Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: EditControl
Показать сообщение отдельно
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


А ещё вот как придумал:
Код: Выделить весь код
struct thr_start_struct
{
    Object* obj;
    void (Object*::mbr)();
};

void threaded_proc(thr_start_struct* st)
{
     (st->obj->*st->mbr)();
}

void start_threaded(Object* obj1, void (Object*::mbr1)())
{
      thr_start_struct st;
      st.obj = obj1;
      st.mbr = mbr1;
      _beginthread((void(*)(void*))threaded_proc, &st, 0x10000);
}

...


class A : public Object
{
    void priv_foo()
    {
          ...
    }
public:
    void foo()
    {
         ...
    }

    void parallel_it()
    {
          start_threaded(this, (void(Object::*)())priv_foo);
    }
};

start_threaded(this, (void(Object::*)())foo);
Но такой подход не позволяет управлять потоком (А также синхронизироваться).

Отправлено: 11:45, 22-12-2005 | #7

Название темы: EditControl