본문 바로가기

쓰기

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
189 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080730 [2] file whoami 10233   2008-07-30 2009-01-06 01:26
 
188 Talk 다음 계획 [1] Hide_D 9995   2008-08-10 2009-01-06 01:33
1. 개행 문자 처리 사용자가 정한 문자열(hex나 문자열중 하나 선택해서 입력)으로 벽을 뚫지 않도록[...] 개행문자를 처리해주는 기능 번역률 향상도 기해 할 수 있을듯. 2. 사용자 대본 기능 관련 http://koreajapan.pe.kr/make.htm 이녀석 문법 귀찮네요[.....  
187 Talk 관리자님께 '옵션코드 입력'에 관해서 요청~ Hide_D 9990   2009-01-03 2009-01-03 11:02
일반적으로 아랄트랜스에서 '옵션'을 긁어 온다면 두가지 방법으로 긁어올수 있습니다. /a:ATCode{HOOK(0x004016B0,TRANS([ESP+0x8],PTRCHEAT))} /f:DumpText{SET(10100)} /t:ezTransXP{} 이 형식과 HOOK(0x004016B0,TRANS([ESP+0x8],PTRCHEAT)) DumpText{SET(...  
186 Archive [플러그인] DumpText Hotfix 20080824 [4] file Hide_D 9957   2008-08-24 2009-01-06 01:05
 
185 Talk CustomSD 원문 단어 흘리기 결과. [2] whoami 9910   2008-08-10 2009-01-06 02:06
제가 다른분이 제작하신 플러그인 테스트를 하게 될줄은.. 어쨌든. 원문 - 誰だ⑤ 誰なんだよ⑤@n美奈⑤ そいつは誰なんだ⑤ 번역 - 누구다⑤ 누구이에요놡@n미나⑤ 그 녀석은 누구야 놡 단어 흘리기 (?) 가 되다 안되다 하는군요. 중간에 "놡" 은 된 것이고.. ⑤ ...  
184 Archive [플러그인,소스] 사용자 사전 플러그인 0.1 20080718 (테스트 버전) [1] file Hide_D 9905   2008-07-18 2009-01-06 01:00
 
183 Talk 현재까지 작업물 + 에러 OTL [2] file Hide_D 9891   2008-08-03 2008-08-03 21:08
 
182 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080712_2 file whoami 9884   2008-07-12 2009-01-06 01:00
 
181 Archive [플러그인, 소스] preKoFilter 테스트 버전 20080715 [1] file whoami 9883   2008-07-15 2009-01-06 01:00
 
180 Archive [플러그인,소스] 사용자사전 0.2 20080723 (테스트버전) file Hide_D 9861   2008-07-23 2008-07-23 00:08
 
179 Talk VB용 커스텀스크립트 Hash 함수 [2] HaruKaze 9835   2009-01-05 2009-02-14 11:01
비주얼베이직에서 사용할 수 있는 커스텀스크립트 Hash 생성 함수입니다. 비주얼베이직에서는 이진 변환과 이진 연산을 할 수 없기 때문에 이진 변환과 연산을 할 수 있게 해주는 함수를 작성하여 만들었습니다. - 정수를 이진 문자열로 변환하는 함수 - 이진...  
178 Archive [플러그인, 소스] preKoFilter 테스트버전 20080716_2 [1] whoami 9823   2008-07-16 2009-01-06 01:00
심각한 버그 버전입니다. 삭제되었습니다; http://aralgood.com/zbxe/36084 를 참조하세요.  
177 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080716 file whoami 9680   2008-07-16 2009-01-06 01:00
 
176 Archive [플러그인, 소스] preKoFilter 테스트 버전 20080716 file whoami 9670   2008-07-16 2009-01-06 01:00
 
175 Archive [플러그인, 소스] DenyWord 테스트 버전 20080917 file Hide_D 9665   2008-09-17 2009-01-06 01:25
 
174 Archive [플러그인, 소스] D.C.2 Only (테스트버전) [2] file Hide_D 9547   2008-08-17 2008-08-17 18:18
 
173 Talk DenyWord 변경한 내용입니다 Hide_D 9493   2008-09-11 2008-09-11 23:04
1. 일단 EXACT를 추가했습니다. 정보(옵션버튼), 플러그인초기화부분, DenyWord클래스의 초기화부분이 변경되었고 실제 처리부분에서는 먼저 처리를 해준 다음 if문 대신 루프의 n값을 0으로 고쳐 루프를 돌지 않도록 처리했습니다. 2. 1바이트인지 확인하는 ...  
172 Archive [소스]추가 사용자 사전 0.1 [개발모드] file Hide_D 9405   2008-07-18 2008-07-18 17:10
 
171 Archive [플러그인, 소스] ATCode 테스트 버전 20080724 whoami 9393   2008-07-24 2009-01-06 01:27
... 이제 안올라오면 뭔가 빠진 것 같지 않으세요? 해결.. 된 것 같습니다. (되었다! 라고 단정적으로 말 할 수 없는 아픔이... ㅜ.ㅜ) * 심각한 버그 버전이므로 삭제되었습니다. http://aralgood.com/zbxe/42858 를 참조해 주세요.  
170 Talk 함수, 변수 작명법 잘 정리된곳 없나요; [1] Hide_D 9291   2008-08-03 2009-01-06 01:00
결국 소스로 올려야하니까 좀 정리는 해둬야겠다.. 싶어서 번역쪽은 그냥 0.2버전(캐시 초기화) + 약간의 강화로 변경