본문 바로가기

쓰기

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/cbf/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/36249
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 2008-08-03 155439
64 Talk 필터 3개 커밋 완료했습니다. [2] Hide_D 2008-08-11 9263
63 Talk RLCmd, KoFilter 의 디버그 로그 기능에 대해.. whoami 2008-07-26 9246
62 Talk ATCode 버전업에 대해 - 관리자님 봐주세요.. [1] whoami 2008-07-26 9241
61 Talk Windows 7, UAC, 64bit Hide_D 2011-04-24 9107
60 Talk whoami님 [3] Hide_D 2008-07-18 9072
59 Talk 비주얼베이직에서의 Hash값 생성 코드 작업 file HaruKaze 2009-01-05 9022
58 Talk http svn을 운용하는건 어떨까요? [3] 아랄 2008-07-20 8950
57 Talk 전에 쓸모 있는 기능의 2번 관련 Hide_D 2008-07-31 8860
56 Talk SOW 방식 지원 ATCode 플러그인 소스 커밋하였습니다.. [2] whoami 2008-07-27 8829
55 Talk 사용자 사전 플러그인에 대해서 설문 [5] Hide_D 2008-07-30 8785
54 Talk 라파에님 한번 테스트해보세요. [2] file Hide_D 2008-08-17 8759
53 Talk 맵을 이렇게 사용해도 되나요? [2] Hide_D 2008-08-09 8705
52 Talk 루비문자 처리 스샷 입니다. file 라파에 2008-08-17 8595
51 Talk 어휴.. [2] file whoami 2008-08-11 8573
50 Talk 아... 괴물한자의 정체가 Hide_D 2008-08-23 8458
49 Talk 플러그인을 다시 Multi2용으로 만들면서 생긴 궁금증 [4] Hide_D 2008-08-09 8374
48 Talk 컨텍스트 구조 제안(핸들러 구조) [4] Hide_D 2011-04-21 8336
47 Talk VS 2005로 갈아탔습니다 [1] Hide_D 2008-08-03 8272
46 Talk 어? ezTransXP 플러그인을 분석하다 생각난건데 [1] Hide_D 2008-07-22 8162
45 Talk 개행 처리 관련해서 일단 제 구상입니다 Hide_D 2008-08-21 8149