웬만하면 상속으로 처리 하는데...(혹은 mixin이나 templete method patten)
WinCE에서 작업할 당시 UI구현하는데 짜증이 버럭 나서 쓴 적이 잇네요. 제가 링크 한거 말고 아래의 구현이었음
http://www.codeproject.com/kb/cpp/ImpossiblyFastCppDelegate.aspx
단현석 님이 쓰신 글 :
: 답변 감사합니다.
:
: 비슷한 류를 인터넷 검색하면서 본 적은 있는데, 당췌 복잡하군요.
:
: 빌더의 __closure를 흉내내기 위해 이런 일들이 필요하다니..
:
: 그런데 혹시 Lyn 님은 이 라이브러리나 이런 방법을 실제 쓰고 계신가요?
:
: 답변 부탁드립니다.
:
: 다시 한 번 감사드립니다.
:
: 수고하세요.
:
: Lyn 님이 쓰신 글 :
: :
http://lunapiece.net/3961#0
: :
: : 단현석 님이 쓰신 글 :
: : : 빌더의 Synchronize 함수를 VC++ 버전으로 만들려고 하는데요..
: : :
: : : Core 로직은 DLL에 있고, 가벼운 UI를 얹어 테스트 및 데모용으로 사용하고 있습니다.
: : :
: : : DLL 쪽에 Thread 루틴이 있고, Callback으로 UI쪽에 이벤트나 데이터를 전달하고 있습니다.
: : :
: : : 빌더로 할때는 TThread 를 사용하고, UI 동기화는 Synchronize 함수를 통해서 하니 참 편하더군요.
: : :
: : : 내부 구조를 보니 참 잘 만들었다는 생각도 들고, 확실히 안정적이었던 것 같습니다.
: : :
: : : 지금은 MFC Dialog Base에 가볍에 UI를 만들어 쓰는데,
: : :
: : : Synchronize 의 대용이 없어 참 불편하더군요.
: : :
: : : SendMessage를 썼는데, Thread에서 SendMessage 를 사용하는 것이 아무래도 안 좋아 보여,
: : :
: : : 빌더 VCL의 Synchronize 루틴을 만들어 볼려고 마음을 먹었습니다.
: : :
: : : 나름 내부 로직을 만느는데는 문제가 없을 듯 한데....
: : :
: : : UI 클래스의 (CDialog를 상속받은 클래스) 맴버 함수를 이쁘장하게 호출할 방법이 없더군요.
: : :
: : : __closure 키워드가 VC에는 없기 때문인데요.
: : :
: : : 이를 해결할만한 좋은 대안이 없을까요?
: : :
: : : 질문이 VC 관련 질문이 되어버렸군요.
: : :
: : : 그런데 VC 관련 포럼 같은데서는 VCL의 Synchronize 를 잘 모르기 때문에, 질문이 불가능합니다. ㅜㅜ
: : :
: : : 빌더 개발자 분들이 정말 만능같습니다. ^^
: : :
: : : 좋은 방법이 있으면 조언 부탁드립니다.
: : :
: : : 감사합니다.