본문 바로가기

쓰기

ATPluginFrame 을 0.3 에 맞게 수정중입니다;

일단 변경점은..
 - 당연하지만 아랄트랜스 0.3 용 인터페이스가 추가되었습니다.
 - StdAfx.h 에 USE_ARALTRANS_0_2 가 설정되면 아랄트랜스 0.2용 플러그인을 생성합니다.
   마찬가지로 USE_ARALTRANS_0_3 이 설정되면 아랄트랜스 0.3용으로 생성합니다.
   심지어는 둘 다 설정하면 0.2 및 0.3 용 인터페이스를 모두 갖출 수 있습니다..
- DefStruct.h 가 추가되었습니다.
- 충돌을 막기 위해 DefStruct.h 는 NS_ARALTRANS_0_3 네임스페이스에,
   DefATContainer.h 는 NS_ARALTRANS_0_2 네임스페이스에 올라갑니다. (파일 변경은 없습니다)
   실 개발자는 신경 안 써도 됩니다만; 어쨌든.
- 번역 콜백 함수 (TRANSLATION_OBJECT::procTranslate 에 지정되는) 관련 파생 함수가 생겼습니다.
  작업 순서는 다음과 같습니다. (번역 및 필터 플러그인일 경우)
1. ::MainTranslateProcedure 콜백
2. CATPluginFrameApp::MainTranslateProcedure 콜
2-1. 객체 확인 후 CATPluginFrameApp::PreTranslateEx 콜
2-1-1. 오버로드가 되지 않았다면 CATPluginFrameApp::PreTranslate 콜 (기존 함수 이용)
2-2. 객체 확인 후 CATPluginFrameApp::TranslateEx 콜
2-2-1. 오버로드가 되지 않았다면 CATPluginFrameApp::Translate 콜 (기존 함수 이용)
2-3. CATPluginFrameApp::NextTranslateEx 콜
2-3-1. 오버로드가 되지 않았다면 pTransObj->pNextObject->procTranslate 콜
2-4. CATPluginFrameApp::PostTranslateEx 콜
2-4-1. 오버로드가 되지 않았다면 CATPluginFrameApp::PostTranslateEx 콜 (기존 함수 이용)

이런 식으로 손을 대지 않는다면 기존의 함수를, 중간의 Ex 혹은 MainTranslateProcedure 자체를
오버로딩 시키면 0.3 에서 추가된 기능을 사용할 수 있도록 했습니다.. (덕택에 스파게티 코드가 되고 있..;)

주의사항
1. Libs 에 있는 라이브러리들은 아직 손을 못 댔습니다.
2. ATCApi 역시 컴파일만 제대로 되고 있습니다.
3. VC++ 6.0 용 프로젝트 파일은 아직 미변경. 2005용 프로젝트 파일만 써 주세요.
4. 디버그 코드가 아직 남아있습니다.
5. 완벽히 테스트가 된 것이 아니므로 어디서 버그가 튀어나올 지 모름.. oTL
6. Readme.txt 역시 그대로임;

그리고.. 아랄님께 건의가 하나.
아랄트랜스 0.2 및 0.3 겸용으로 플러그인을 만드는 것이 가능한 것 같습니다만, 아랄트랜스 0.3의
구버전 플러그인 체크가 아마도 PreTranslate 등의 익스포트 함수의 존재여부로 체크하는 듯 해서
겸용으로 만들어도 구버전으로 인식되더군요.

그래서.. 플러그인 체크 알고리즘을 GetPluginInfo 함수가 존재하는지 여부로 바꾸실 생각은 없으신지요?
이 함수는 확실히 0.3용 플러그인에서만 존재하니까요.

그리고 Hide_D 님, 위키에서 수정버튼 누르니까 수정할 게시글이 안뜨던데.. 버그 아닌가요?

Hide_D

2009.12.20
15:32:38
아 그리고 0.3에서는 필터도 Context를 생성할 수 있기 때문에 그것도 신경을 써야할겁니다.

+ 위키 수정 완료. 제로보드 버그입니다

whoami

2009.12.20
15:38:33
뭐.. Context 생성이야 API 에서 할 일이고.. ㅎㅎ 정 안되면 Ex 함수쪽을
오버로딩해서 입맛에 맞게 재작성하면 되겠지요.

봐서 기존 함수쪽 (PreTranslate 등) 에서 프레임워크쪽에서 뭔가 넣을 것이 있으면
추가할 생각입니다만, 아직 제대로 된 0.3용 설명글도 없는 상황에서는 어떻게 바꿔야
할 지 모르겠더군요.. 뭐 그래서 정식버전이 아닌 것 아니겠습니까.. 하. 하. 하.. ㅡ_ㅜ
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
289 Talk 맵을 이렇게 사용해도 되나요? [2] Hide_D 8705   2008-08-09 2008-08-09 22:13
void CCustomDic2::SetKey(LPCSTR JpnWord, LPCSTR KorWord) { map<UINT,struct DicWord> EmptyMap; struct DicWord TempWord; map<size_t,UINT>::iterator iterBook; TempWord.WordLen = strlen(KorWord); TempWord.WordN = WordN++; UINT Hash=MakeStringHas...  
288 Archive [플러그인,소스] ezTransXP with CustomDic 0.3 20080806(테스트버전) [1] file Hide_D 8712   2008-08-06 2009-01-06 01:00
 
287 Archive [플러그인, 소스] RLCmd 테스트 버전 20080726 file whoami 8745   2008-07-26 2008-07-26 19:05
 
286 Archive [플러그인, 소스] DenyWord 테스트 버전 20080907 file Hide_D 8757   2008-09-07 2009-01-06 01:01
 
285 Talk 라파에님 한번 테스트해보세요. [2] file Hide_D 8759   2008-08-17 2008-08-17 16:55
 
284 Archive [플러그인, 소스] RLCmd 20080728_2 file whoami 8784   2008-07-28 2009-01-06 01:26
 
283 Talk 사용자 사전 플러그인에 대해서 설문 [5] Hide_D 8785   2008-07-30 2008-07-30 22:47
으음 기본적으로 모든 게임에 사용되는 사용자 사전 을 목표로 진행중이기 때문에 ezTransXPwithCustomDic이 아니라 ezTransXP가 되고 싶습니다만... 0.2에서는 특별한 다이얼로그가 없기 때문에 이걸 그냥 ezTransXP.dll로 만들어 달라기도 애매한 상황입니다...  
282 Archive [플러그인] ATCode 테스트 버전 20080723_2 file whoami 8787   2008-07-23 2009-01-06 01:27
 
281 Archive [플러그인, 소스] DenyWord 테스트 버전 20080907_2 file Hide_D 8802   2008-09-07 2009-01-06 01:01
 
280 Archive [플러그인, 소스] RLCmd 20080802 [1] file whoami 8818   2008-08-02 2009-01-06 01:00
 
279 Talk SOW 방식 지원 ATCode 플러그인 소스 커밋하였습니다.. [2] whoami 8829   2008-07-27 2008-07-27 21:12
빠진 파일은 없을겁니다; 버전 정보는 손대지 않았습니다. 버전 정보 업데이트 해주시고.. 혹시라도 문제가 있으면 알려주시기 바랍니다. (개인적으로는 아랄님 자주 보고 싶은데 덧글 하나 없이 대화방에도 없이 스리슬쩍 사라져 버리셔서 아쉽.. ㅡ.ㅡ)  
278 Archive [플러그인, 소스] FixControlCharactor 20080816_2(테스트버전) file Hide_D 8836   2008-08-16 2009-01-06 01:01
 
277 OtherFiles 히데님께! 디카포2의 헥스코드 모음 입니다. [2] file 라파에 8846   2008-08-17 2008-08-17 16:10
 
276 Talk 전에 쓸모 있는 기능의 2번 관련 Hide_D 8860   2008-07-31 2009-01-06 01:00
whoami님이 생각하시는 것 처럼 정규식도 생각은 해봤는데, 이건 저로서는 무리고 =ㅅ=; 저거 비스무~리 하게 와일드 카드만 사용 할 수 있는 모델을 게획해 봤는데, '이걸 만들어야 할지 말아야 할지' Hide_D는 연습장에 적힌 내용을 소환했다. > 문장의 시작...  
275 Archive [플러그인, 소스] ATCode 테스트 버전 20080722 [2] file whoami 8908   2008-07-22 2009-01-06 01:27
 
274 Archive [플러그인, 소스] RLCmd 20080728 file whoami 8913   2008-07-28 2009-01-06 01:26
 
273 Archive [플러그인, 소스] FixControlCharactor 20080817_3(테스트버전) file Hide_D 8928   2008-08-17 2009-01-06 01:01
 
272 Talk http svn을 운용하는건 어떨까요? [3] 아랄 8950   2008-07-20 2009-01-06 01:35
몇몇 개발자 분들께서 열악한 버전관리 환경 속에서도 플러그인을 개발하시는데 조금이나마 도움이 되고싶네요 소스는 svn상으로 함께 공유하며 자발적으로 개선해 나갔으면 하는데요 현재 기존의 플러그인에서 분기되거나 또는 아랄트랜스 기본 기능에 넣고 ...  
271 Archive [플러그인, 소스] ATCode 테스트 버전 20080724_2 [1] file whoami 8960   2008-07-24 2009-01-06 01:27
 
270 Archive [플러그인,소스] EzTransXP with 사용자사전플러그인(테스트 버전) 20080721_2(추가수정) file Hide_D 9014   2008-07-21 2008-07-21 16:47