Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

請問vc++ mutlithread 的函數怎麼動到class membe

0 views
Skip to first unread message

要平平安安喔~

unread,
Dec 25, 2001, 11:04:34 AM12/25/01
to
《 在 sc...@kkcity.com.tw (安安唷) 的大作中提到: 》
: 請問高手:
: 使用AfxBeignThread時,需要指定一個global function當作該thread真正動作內容,
: 但是若該fun內想去動到原本視窗元件的資料(如改變Edit1內容,即一個class的
: member data),則該怎麼才能改變到?謝謝 ^_^。


class Thread: {
private:
static int Func ( void *pArg );

public:
Thread ();
virtual ~Thread ();

virtual int ThreadFunc () = 0;
};

Thread::Thread ()
{
// 這個function的參數呼叫方式請自行查閱…
// this point 傳給Thread::Func作為參數
// ThreadFunc為一static function作為thread 的呼叫起點
AfxBeginThread(......., ThreadFunc, (void *)this, ....);
}

int Thread::Func ( void *pArg )
{
// 進來時記得將pArg 轉換為(Thread *)
Thread *pObj = (Thread *)pArg;

//接著呼叫Thread::ThreadFunc() 也就是繼承的virtual function...
return pObj->ThreadFunc();
}


class A: public Thread {
private:
int members;

public:
virtual int ThreadFunc ();

};


int A::ThreadFunc ()
{
// Accessing A::members
members = xxxx;
}

可以使用類似上面的方法喔~~~~

--


恐懼 寂寞
消沉 不安 在丘比特殘破的雙翼間隱隱流露
像音樂廳裏暗處獨湊的樂手 深深吶喊
受傷的心誰來撫平

[m [1;33m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 210.85.124.163] [m

0 new messages