Guest Book

Leave your greetings here

  1. dlunch 2014/02/10 15:20 M/D Reply Permalink

    안녕하세요, TSF 프로그램 개발 중 날개셋 입력기의 문제를 발견하여 문의드립니다

    tsf가 잘 붙는지 테스트를 위해 ITextStoreACP::GetSelection를

    *pcFetched=0;
    return TS_E_NOSELECTION;

    이렇게 써 둔 상태에서 날개셋을 붙이니 access violation이 발생합니다.
    MS IME에서는 입력이 되지는 않지만 access violation은 발생하지 않습니다.

    환경은 윈도8.1 x64, 날개셋 7.11, 64bit 코드입니다.
    오류지점은 NgsIme.ime!DllRegisterServer() + 12171 bytes 로 나오네요.
    BaseAddress + 0x158cb 지점입니다.

    혹시 몰라 call stack도 붙여둡니다.

    ntdll.dll!RtlUnhandledExceptionFilter2() Unknown
    msctf.dll!`CInputContext::_DoEditSession'::`1'::filt$0() Unknown
    ntdll.dll!__C_specific_handler() Unknown
    ntdll.dll!RtlpExecuteHandlerForException() Unknown
    ntdll.dll!RtlDispatchException() Unknown
    ntdll.dll!KiUserExceptionDispatch() Unknown
    > NgsIme.ime!DllRegisterServer() + 12171 bytes Unknown
    msctf.dll!CInputContext::_DoEditSession(unsigned long,struct ITfEditSession *,unsigned long) Unknown
    msctf.dll!CInputContext::_EditSessionQiCallback() Unknown
    msctf.dll!CACPWrap::OnLockGranted() Unknown
    NewConsole.exe!ConsoleWnd::RequestLock(unsigned long dwLockFlags, HRESULT * phrSession) Line 255 C++


    감사합니다.

    1. 사무엘 2014/02/10 17:25 M/D Permalink

      오랜만에 뵙네요~! 반갑습니다.

      에, 그러니까 단순히 WM_IME_* 메시지만 받아들이는 게 아니라 아예 ITextStoreACP 인터페이스를 다 구현하여 TSF 방식 외부 모듈의 동작을 제대로 받아들이는 텍스트 에디트 컨트롤을 직접 만들고 계신다는 건가요?
      (만약 그런 거라면.. 정말 대단하신걸요. 그걸 일일이 다 직접 구현하는 프로그램은 거의 없고 완전 극소수인데 =_=;; 에디터나 워드 프로세서를 처음부터 직접 만드는 게 아니라면 말입니다.)

      지금 당장 문제를 살펴볼 여건은 안 됩니다만, GetSelection 말고 다른 함수들은 어느 정도까지 어떻게 구현했는지를 얼추 알아야 아마 문제 확인이 가능할 듯합니다. 그 함수만 그렇게 돼 있어서는 문제가 재연되지 않을 가능성이 높으니 이에 대한 단서를 주시면 좋겠습니다.
      그리고 설명이 길어지면 이곳 대신 제게 메일로 알려 주시고요.
      감사합니다.

    2. dlunch 2014/02/10 19:16 M/D Permalink

      https://gist.github.com/dlunch/8913458

      간단하게 만들어본 재현 코드입니다.

      GetSelection의 주석처리된 부분의 주석을 제거하면 오류가 발생하지 않네요.

      아 문제 발생 시점을 말씀드리지 않은 것 같은데, 한글 입력 상태에서 글자를 입력할 때 발생합니다.

    3. 사무엘 2014/02/10 21:55 M/D Permalink

      재연 코드를 그대로 올려 주셔서 고맙습니다. 덕분에 귀갓길 전철 안에서 곧장 문제를 확인했습니다. ^^
      이미 짐작하셨겠지만, 일반적으로는 크게 고려할 필요가 없는 fail-safety를 고려하지 않아서 발생하는 이슈이군요.
      if 가드를 하나 추가하는 것으로 패치했습니다.
      단순 사용상의 버그가 아니라 기술적인 이슈를 접수받은 건 거의 처음입니다. 다시 한번 감사드립니다~!

    4. dlunch 2014/02/11 12:21 M/D Permalink

      빠른 수정 감사합니다 :)

  2. 비밀방문자 2014/02/07 23:29 M/D Reply Permalink

    관리자만 볼 수 있는 방명록입니다.

    1. 사무엘 2014/02/08 07:31 M/D Permalink

      어이쿠, 꼭 오랫동안 못 본 사람처럼 얘기하시네요. 제가 기억을 왜 못 하나요. ㅎㅎ
      잘 지내시죠?
      저도 자매님 가정을 늘 기억하고 있습니다. 교회 생활 어떻게 하신지, 라 목사님 근황은 어떠한지 궁금하네요. 진짜로 외국으로 나가시나?
      연락 주셔서 감사합니다. ^^

  3. 신세카이 2014/01/12 04:04 M/D Reply Permalink

    날개셋 타자연습 관련 건의사항입니다.

    먼저 창을 전체화면으로 변경할 수 있으면 좋겠고
    두번째는 문장/글 연습에서 꾸러미도 추가할 수 있었으면 좋겠습니다.

    1. 사무엘 2014/01/12 22:28 M/D Permalink

      낯익은 닉이네요. 반갑습니다.

      1. 타자연습 프로그램 창과 게임 화면이 요즘 같은 고해상도 환경에서 보기에 다소 작은 감이 있는 건 사실입니다만, 출력되는 비트맵 글꼴의 크기가 고정되어 있어서 화면 크기를 키우는 것은 현재로서는 어렵습니다. 비슷한 이유로 편집기 역시 글씨 크기 조절 기능은 구현이나 지원되지 않고 있구요.

      2. 꾸러미의 경우 ‘연습글 더하기’를 누른 뒤에 꾸러미 이름을 새로운 것으로 입력하면 꾸러미도 자동으로 추가가 되긴 합니다. 이걸 말씀하시는 건지 궁금하네요.
      답변 되었으면 합니다. 감사합니다.

  4. 박영주 2013/11/18 10:19 M/D Reply Permalink

    처음 인사를 드립니다. 저는 컴퓨터는 그저 단순한 유저로서 업무에 필요한 정도만 사용하는 사람입니다.
    두벌식에서 시작했다가 세벌식에 반해서 계속 사용한지가 꽤 되었는데요,
    ios용 세벌식은 개발이 어려운 것인지요?
    ipad나 mini의 기기 유용성은 큰 반면, 세벌식을 지원하지 않아서 다시 두벌식으로 가야하는 것인지, 불편해도 window 머신으로 계속 사용해야 하는지가 고민입니다.
    ios용 세벌식을 개발하는 분들이 계신지, 제가 도울 방법이 없을지도 알려주셨으면 합니다.

    답답한 세벌식 사용자가

    1. 사무엘 2013/11/19 10:14 M/D Permalink

      안녕하세요~! 컴퓨터/IT 쪽 매니아 성향이 아니어도 업무상 한글 타이핑을 할 일이 많은 분일수록 세벌식은 더욱 필요합니다.
      (세벌식이란 게 있다는 걸 어떻게 알고 익힐 생각을 하시게 됐는지 궁금합니다. ^^)

      애플 사에서 만든 운영체제의 경우, PC용 맥OS에서는 세벌식이 물론 지원되고 제3자가 만든 IME도 존재하는 반면,
      아이폰/아이패드 같은 모바일 플랫폼은 안드로이드와는 달리 제3자 IME 자체가 존재하지 않고 개발 불가능하다고 들었습니다.
      끽해야 전용 에디터로 문자열을 입력해서 붙여넣는 것이 전부이죠. (날개셋으로 비유하자면 외부 모듈이 없고 편집기만)

      모바일에서도 어떤 형태로든 도깨비불 현상이 없는 한글 입력 방식이 있었으면 좋겠는데 아쉬운 면모입니다.
      iOS에 대해 제가 아는 건 이 정도가 전부네요. 감사합니다. ^^

  5. 비밀방문자 2013/11/14 10:58 M/D Reply Permalink

    관리자만 볼 수 있는 방명록입니다.

    1. 사무엘 2013/08/10 01:25 M/D Permalink

      안녕하세요? 제 블로그 글을 관심을 갖고 애독해 주셔서 대단히 고맙습니다.

      북한이라는 나라 때문에 우리나라의 역사나 정체성과 관련된 진실은 중도가 아니라 극단에 있는 경우가 무척 많아졌죠. 그래서 자꾸 그 분야의 정치 논쟁은 아무리 평정을 유지하려 해도 극단으로 치우치지 않을 수가 없습니다.
      심지어 예수 믿은 것도 진실이 극단에 있기 때문이 아니겠어요? 하나님이고 인류의 구원자가 아니면 사기꾼 정신병자이니까 전자처럼 믿은 것이지, 그저 좋은 말이나 하는 사대성인 중 하나여서 믿는 건 아니죠?

      저는 왜 지금과 같은 견해를 갖고 있는지를 아주 체계적으로 말씀드릴 수 있습니다.
      단, 저는 이런 대화를 나누는 매체는 좀 고리타분해 보이더라도 메일을 선호한다는 점을 양해해 주세요.
      제 홈페이지 대문(tc를 빼고 서버 이름만 친)에 나와 있는 제 메일 주소로 메일을 보내 주시면 답변을 드리겠습니다.

      감사합니다.

  6. 김광민 2013/10/11 08:56 M/D Reply Permalink

    아....열심히 저에 대해서 적고 있던 중 백스페이스를 잘 못 눌러서 글이 사라져 버렸음T.T

    허무 공허....

    메모장에 적어서 다시 옮겨야겠어용

    T.T

    1. 사무엘 2013/10/11 23:19 M/D Permalink

      저런..
      그땐 누구나 멘붕하지 않을 수가 없죠..ㅠㅠ
      개인적인 내용이면 비밀글로 올리거나 메일로 주셔도 됩니다.
      기대하겠습니다.
      감사합니다! ^^

« Previous : 1 : ... 22 : 23 : 24 : 25 : 26 : 27 : 28 : 29 : 30 : ... 79 : Next »

블로그 이미지

그런즉 이제 애호박, 단호박, 늙은호박 이 셋은 항상 있으나, 그 중에 제일은 늙은호박이니라.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2026/09   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

Site Stats

Total hits:
4058889
Today:
1767
Yesterday:
2059