본문 바로가기

쓰기

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/9fc/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/36249
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 2008-08-03 155439
429 Talk 아랄 트랜스 github/svn [6] ka7713 2018-12-26 735
428 Archive [플러그인] N eueGoogleTrans 180202 [5] file oscarw854 2018-02-02 1413
427 Talk VB.NET에서 ezTransXP.dll사용하는 방법은 없나요? [1] R2D2 2016-06-14 359
426 Talk ATCTNR에다가 Python만 갖다 붙여도...? [1] Hide_D 2016-01-11 279
425 Archive [본체] AralTrans.exe ATCTNR.DLL 150622 [4] file TwoComet 2015-06-22 534
424 Archive [플러그인] ATCode 150531 file TwoComet 2015-05-31 470
423 Talk UTF-8이나 유니코드 원활한 필터처리를 위해 생각해봤는데 [5] Wales 2014-06-16 620
422 Talk 엔드 아랄호환 문제를 모두 수정했습니다 [2] kiereh 2014-04-28 493
421 Talk 요 며칠간 아랄트랜스 사이트가 인기군요. [2] file whoami 2014-04-18 924
420 Archive [플러그인,소스] KiriKiri 테스트 버전 [1] file 미소미소 2014-04-17 707
419 OtherFiles Shift-JIS (일본어) -> CP949 (한국어) 문자 대응표 file Hide_D 2014-04-13 903
418 Archive [플러그인,소스] ATCode 테스트 버전 140322 [4] file whoami 2014-03-22 869
417 Talk aralgood.com 도메인 부활... [7] whoami 2014-03-02 566
416 Archive [플러그인,소스] ATCode, KoFilter2 테스트 버전 140301 [3] file whoami 2014-03-01 439
415 Talk 이지트랜스 플러그인 Ehnd 제작자입니다. [6] kiereh 2014-02-27 3433
414 Archive [플러그인,소스] ATCode 테스트 버전 140227 file whoami 2014-02-27 455
413 Talk 아랄트랜스 0.2 소스 bitbucket 으로 올려놨습니다. [7] whoami 2014-02-18 2832
412 Archive [플러그인] atcode 비정상 문자 출력 픽스 file Wales 2014-02-16 199
411 Talk 아랄트랜스 0.2 구글코드 svn 밴당했나요? whoami 2014-02-15 2536
410 Talk atcode.dll이 출력 못하는 글자를 수집해 봅니다. [2] file Wales 2014-02-05 489