(예전 커뮤니티(2016-2020) 사이트에서 옮겨온 글입니다: 번호 103)
작성자: dragonk77
날짜: 2018-07-12
제목 그대로 입니다. 한글컨트롤 생성시 쓰레드를 이용하여 할려고 하는데 잘 안되네용
- 먼저 간다하게 해볼려고 하는데 –
여러가지 방식으로 해봐도 m_pHwpCtrl1.Create 하면 에러가 나면서 죽어버리네용 ㅠㅠ
혹시 해보시분 있으면 자문부탁드립니다.
void CEventUpdaterDlg::OnButtonRun()
{
m_Event1 = CreateEvent(0, FALSE, FALSE, _T("m_Event1"));
AfxBeginThread(ThreadFunc1, reinterpret_cast<LPVOID>(this), THREAD_PRIORITY_NORMAL);
}
UINT ThreadFunc1(LPVOID pParam)
{
CEventUpdaterDlg* pView = reinterpret_cast<CEventUpdaterDlg*>(pParam);
RECT rect;
rect.left = 0;
rect.right= 100;
rect.top = 10;
rect.bottom = 100;
if(!pView->m_pHwpCtrl1.Create(_T("HwpCtl1"), WS_CHILD|WS_VISIBLE|WS_BORDER, rect, CWnd::FromHandle(pView->GetSafeHwnd()), IDC_HWPCTRL1))
{
AfxMessageBox("한글1 생성 실패");
}
pView->m_pHwpCtrl1.ShowWindow(SW_SHOW);
WaitForSingleObject(pView->m_Event1, INFINITE);
return 0;
}
댓글
jclee (2018.08.29)
늦었지만 혹시 참고가 될것 같아 답변을 드립니다.
스레드 내부에서 생성하면 그냥 죽습니다. - 패치를 해도 마찬가지.
다른 방안으로 처리하는게 맞는것 같아요.