본문 바로가기

쓰기

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/fc1/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/36249
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 2008-08-03 155441
29 Archive [실행파일] AralTrans 130601 file TwoComet 2013-06-02 577
28 Archive ATCTNR, ATCode, Cached, DebuggingATCode, KiriKiri, NonCached 130616 [13] file whoami 2013-06-16 869
27 Archive [플러그인] ATCode 130623 (수정) [17] file TwoComet 2013-06-22 889
26 Archive [플러그인] ATCode 130703 [20] file TwoComet 2013-07-03 783
25 Talk 스마트 방식과 윈7의 호환에 관한 잘못된 견해 [4] TwoComet 2013-07-06 666
24 Archive [플러그인] ATCode 130707 (파기) [44] TwoComet 2013-07-07 1905
23 Archive [실행파일] AralTrans 130710 (7/28일자 부터 포함) file TwoComet 2013-07-10 533
22 Archive [플러그인] ATCode, ezTransXP, TransCAT 130728 (수정) file TwoComet 2013-07-28 1292
21 Archive [실행파일, 플러그인] AralTrans, ATCTNR, ATCode 130804 (수정) [4] file TwoComet 2013-08-04 878
20 Talk atcode.dll이 출력 못하는 글자를 수집해 봅니다. [2] file Wales 2014-02-05 490
19 Talk 아랄트랜스 0.2 구글코드 svn 밴당했나요? whoami 2014-02-15 2538
18 Archive [플러그인] atcode 비정상 문자 출력 픽스 file Wales 2014-02-16 201
17 Talk 아랄트랜스 0.2 소스 bitbucket 으로 올려놨습니다. [7] whoami 2014-02-18 2832
16 Archive [플러그인,소스] ATCode 테스트 버전 140227 file whoami 2014-02-27 456
15 Talk 이지트랜스 플러그인 Ehnd 제작자입니다. [6] kiereh 2014-02-27 3439
14 Archive [플러그인,소스] ATCode, KoFilter2 테스트 버전 140301 [3] file whoami 2014-03-01 439
13 Talk aralgood.com 도메인 부활... [7] whoami 2014-03-02 567
12 Archive [플러그인,소스] ATCode 테스트 버전 140322 [4] file whoami 2014-03-22 870
11 OtherFiles Shift-JIS (일본어) -> CP949 (한국어) 문자 대응표 file Hide_D 2014-04-13 906
10 Archive [플러그인,소스] KiriKiri 테스트 버전 [1] file 미소미소 2014-04-17 711