[問題] MFC AfxBeginThread
我把本版的thread相關文章全看完了 但似乎沒有人遇到這種問題
假設我有一個class
我寫一些虛擬碼來代表
struct ThreadInfo{
HWND hwnd;
}
class MyFrame : public CFrameWnd{
int value;
ThreadInfo info;
void createThread(){
info.hwnd = this->m_hWnd;
AfxBeginThread(run,&info);
}
}
static void run(LPVOID param){
ThreadInfo* info = (ThreadInfo*)param;
MyFrame* frame = (MyFrame*)CWnd::FromHandle(info->hwnd);
frame->value; <-----值會錯誤..
}
是不是 我在AfxBeginThread沒辨法使用傳hwnd,要傳this來當參數比較好
但??? 這不是 mfc 建議禁用的嗎??
雖然傳this 的確可以解決我的問題,而且沒有錯誤, 但總覺得不踏實
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.69.114.105
※ 編輯: neigence 來自: 210.69.114.105 (06/11 08:57)
推
06/11 09:13, , 1F
06/11 09:13, 1F
→
06/11 09:31, , 2F
06/11 09:31, 2F
→
06/11 09:31, , 3F
06/11 09:31, 3F
→
06/11 09:32, , 4F
06/11 09:32, 4F
→
06/11 09:45, , 5F
06/11 09:45, 5F
→
06/11 09:45, , 6F
06/11 09:45, 6F
→
06/11 09:48, , 7F
06/11 09:48, 7F
→
06/11 12:20, , 8F
06/11 12:20, 8F
→
06/11 13:38, , 9F
06/11 13:38, 9F
→
06/11 21:36, , 10F
06/11 21:36, 10F
→
06/11 21:37, , 11F
06/11 21:37, 11F
推
06/16 09:42, , 12F
06/16 09:42, 12F
→
06/16 09:43, , 13F
06/16 09:43, 13F