Theme Manager 컴포넌트.. 임프님이 올려 놓으신 것은 1.1 beta버전이고
제가 오늘 확인해 보니 1월20일자로 1.2 beta버전이 올라왔습니다.
결론부터 이야기하자면.. 아직까지 쓸만한 것 같지가 않네요.
일단, 1.1버전은 파일들이 누락된 것이 있습니다.
대표적인 것은 dcr파일인데.. 머 없어도 대세엔 지장이 없지만서두요..
1.1버전을 델파이 6에 깔아봤는데 일단 manifest는 제대로 동작하지만(당연)
ListView 등에 대한 서브클래싱이 제대로 동작을 안하는 것 같네요.
ListView를 report형식으로 표시할 때 여전히 커널에러가 납니다. ㅠ ㅠ
그래서 1.2버전을 설치해 봤습니다. 파일 누락은 없는 것 같았습니다.
컴파일도 잘 됩니다. 그런데.. 아뜨... 폼에 컨트롤을 박아 넣으려는 순간
엑세스 바이올레이션...
아예 테스트 불가...
이제부터는 C++빌더 5에 설치해 봤습니다. 먼저 1.1버전부터.
패키지 만들고, pas파일 집어 넣고.. 혹시나 몰라서 WinXP.res 첨가..
대부분 이런 컨트롤들은 manifest 리소스를 첨가해야 하므로..
그런데 정말 이상한 현상..
컴파일은 되는데 링킹이 안됩니다.
TransparentBlt라는 wingdi.h에 있는 함수를 호출하는데.. 링킹을 못하네요..
ㅠ ㅠ
분명, windows.h만 인클루드 하면 되는 함수인데.. 파스칼 코드에도 use windows,....
항목이 있는걸로 봐서는 분명 링킹이 되어야 하는건데도 이상하네요..
그래서 일단 이 부분 커맨트 처리 후 컴파일.. 컴파일은 되었습니다.
제 컴터에 Voodoo3를 쓰는데.. 원래 Voodoo3에서는 32bit 칼라를 쓰면 컴포넌트 팔렛의
일부 컴포넌트의 이미지가 몽창 다 깨져서 나오는 현상이 있습니다.
그런데 이 컨트롤 역시... 이미지 몽창 깨집니다. Voodoo3문제인지는 확인 못했구요..
집에서는 GeForce2쓰니까.. 집에서 해 보면 알겠죠.
아무튼.. 결국 컴포넌트 컴파일까지는 되었고,
일반 폼에 박아 넣었습니다. 에러 안납니다.
폼에 XP 테마가 적용되는지 확인하기 위해 컴파일을 누르는 순간... SchemaDef.h가 없다고..
컴파일이 안됩니다..
우쒸.. 1.2 버전에도 그 파일은 없습니다.
그래서 VirtualTrees 컴포넌트쪽에서 SchemaDef.h를 가져와서 컴파일...
그랬더니만 다른 2개의 헤더파일(Tmschema.h, Uxtheme.h)과 버전이 안 맞는 듯.. 에러 납니다.
그래서 나머지 2개의 헤더파일도 VirtualTrees의 헤어파일을 가져다 덮어쓰고..
다시 컴파일.. 성공임다..
실행해보니.. 동작을 안해요.. ㅠ ㅠ 이건 아마 TransparentBlt함수를 아까 막아서 그런 것
같습니다.
우쓍...
다시 1.2 파일들로 모두 갈아 엎고.. 헤더파일들 재배치하고.. 다시 시도..
ThemeManager.dcr 파일은 이름을 ThemeMgr.dcr로 강제로 바꿉니다. 컴포넌트팔래트용 이미지
입니다. 그런데 저자가 이름 바꾸는 것을 까먹은 듯...
역시 TransparentBlt함수에서 걸립니다. 이것 커맨트 처리하고
다시 컴파일.. 성공..
폼에 컨트롤 박아 넣는 순간
엑세스 바이올레이션...
ㅠ ㅠ
결국 포기했슴다..
정식버전을 기다려야 할 것 같습니다.
내일은 오전에 시간 나면 저자에게 버그리포트 해 줘야겠습니다.
지난번에도 Virtual Trees의 버그리포트를 했었는데 친절하게 답장을 주더군요..
이번에도 귀찮아 하지 않구 답장 줄지는 몰겠슴다..
아.. 빌더의 발전을 위해 이 사람에게 돈모아서 빌더를 사 주든가 해야지..
빌더용 패키지 안만드는 이유가 글쎄... 자기한테 빌더가 없기 때문이라더군요.. 우쓍!!!
패패루였슴다.
|