본문 바로가기

쓰기

http://lab.aralgood.com/board_documents/3202
에 나온대로 플러그인이 초기화되는 시점이 '안전하지' 않기 때문에
Init 단에 스레드를 추가하기가 어려운데, 이를 위한 회피 방법입니다

[OnInitThread에 AfxBeginThread를 사용하면 '무조건' 얼어버리는 현상이 있었습니다
 예전에 (폐기한) DumpText2를 시험할 때나 현재 CustomDic을 개선할 때 모두 나타났습니다]

원리는 간단한데,
1. SetTimer로 수 초 뒤 특정 함수가 동작하도록 한다.
2. 그 함수에서 AfxBeginThread나 _beginthreadex를 시도한다.


UINT threadProc(LPVOID data){
    CDumpDlg dlg;
    dlg.DoModal();
    return 0L;
}

VOID CALLBACK TimerProc(HWND hwnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime){
    m_pThread = AfxBeginThread(threadProc,NULL);
    KillTimer(NULL,idEvent);
}

BOOL CDumpTextApp::OnPluginInit(HWND hSettingWnd, LPSTR szOptionStringBuffer){
    m_hSettingWnd = hSettingWnd;
    m_szOptionStringBuffer = szOptionStringBuffer;

    m_pTmpTimer = SetTimer(NULL,1,5000,TimerProc);

    return TRUE;
}

이 경우엔 초기화는 안정적으로 동작하지만 역시 '종료'시
추가 스레드가 작동중인지 아닌지 주의해주어야 할 것 같습니다.
분류 :
Talk
조회 수 :
27118
등록일 :
2010.06.23
02:06:41
엮인글 :
https://arallab.hided.net/36249/5e6/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/36249
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 2008-08-03 155439
129 Archive [플러그인, 소스] DenyWord 테스트 버전 20080910 [1] file Hide_D 2008-09-10 10322
128 Archive [플러그인, 소스] DenyWord 테스트 버전 20080908 file Hide_D 2008-09-08 8530
127 Archive [플러그인, 소스] DenyWord 테스트 버전 20080907_2 file Hide_D 2008-09-07 8802
126 Archive [플러그인, 소스] DenyWord 테스트 버전 20080907 file Hide_D 2008-09-07 8757
125 Talk [질문]UTF 코드를 SHIFT-JIS와 KS코드로 변환 [4] 호기심맨 2008-09-02 13984
124 Archive [플러그인, 소스] FixLine 테스트 버전 Archive(08.31 12:12 갱신) [1] file Hide_D 2008-08-30 13429
123 Talk 토모요 애프터...... [2] file whoami 2008-08-26 10576
122 OtherFiles 10MB 파일 여는데 걸리는 시간을 테스트해봤습니다. [4] file Hide_D 2008-08-25 11922
121 Archive [플러그인] DumpText Hotfix 20080824 [4] file Hide_D 2008-08-24 9957
120 Talk FixLine 예상 작동 방식 [1] file Hide_D 2008-08-23 10715
119 Talk 아... 괴물한자의 정체가 Hide_D 2008-08-23 8458
118 Talk 개행 처리 관련해서 일단 제 구상입니다 Hide_D 2008-08-21 8149
117 Archive [플러그인, 소스] D.C.2 Only 20080817_2(테스트버전) [5] file Hide_D 2008-08-17 8703
116 Archive [플러그인, 소스] D.C.2 Only (테스트버전) [2] file Hide_D 2008-08-17 9547
115 Talk 루비문자 처리 스샷 입니다. file 라파에 2008-08-17 8595
114 Talk 라파에님 다시 한번 테스트해보세요. [3] file Hide_D 2008-08-17 10896
113 Talk 라파에님 한번 테스트해보세요. [2] file Hide_D 2008-08-17 8759
112 OtherFiles 히데님께! 디카포2의 헥스코드 모음 입니다. [2] file 라파에 2008-08-17 8846
111 Archive [플러그인, 소스] FixControlCharactor 20080817_4(테스트버전) file Hide_D 2008-08-17 7877
110 Archive [플러그인, 소스] FixControlCharactor 20080817_3(테스트버전) file Hide_D 2008-08-17 8928