티스토리 뷰
DLL프로젝트가 여러개 있다.
예를 들어 A와 B 이렇게 두개가 있다.
둘다 resource.h가 있고, 각자의 rc파일이 있다.
그런데..
B에서 LoadString으로 String Table에 있는 것을 읽어오려했는데.. 오잉..? A에 있는 스트링 테이블 값을 참조한다.
우째 이런일이?
이를 해결하기 위해선
MFC Extension DLL로 DLL을 만든 경우, LoadString이나 LoadBitmap시에 어느 리소스에서 값을 가져오는지를 알아야 한다.
DLL과 그를 호출한 EXE가 있을 경우, 리소스 아이디가 중복 되는 경우에는 LoadXXX 함수는 EXE의 리소스에서 값을 읽어오게 된다. http://support.microsoft.com/kb/600771/ko에 따르면
"이것은 MFC에서 resource를 찾는 순서가 Extension DLL 인 경우 EXE file의 resource를 가장 먼저 살펴 보고 여기에서 발견이 안된 경우에 Extension DLL resouce를 그리고 마지막 으로 MFC DLL resource를 찾게되기 때문이다."
라고 돼있다.
근데 경험적으로 볼 때, 꼭 EXE는 아니고, 일반적으로 말해서 '자신을 호출한 녀석'의 리소스를 먼저 찾는 듯 싶다.
따라서 리소스를 쓸 때는 값이 절대 겹치지 않게 잘 설계해야겠다.
'Development > Windows' 카테고리의 다른 글
MFC로 구현한 옵져버 패턴(옵저버 패턴)Observer 기본 뼈대 (0) | 2012.02.18 |
---|---|
[MFC] 아무리 봐도 햇깔리는 화면 좌표에 관련 한 것.. (0) | 2011.10.17 |
[MFC] 아이콘이 안바껴요. 아이콘 바꾸기! (0) | 2011.09.21 |
[MFC] Temp 폴더 경로 얻어와서 새 파일 이름 만들기 (0) | 2011.08.29 |
[MFC] 그림의 아래에 가로로 스크롤바를 달았을 경우 적당한 ScrollBar의 Size (1) | 2011.08.11 |
[MFC] class에서 static 멤버 변수 쓰기 (0) | 2011.07.28 |
[MFC] 유니코드와 멀티바이트로 작성된 프로그램과 DLL 사용 안됨. (0) | 2011.07.28 |
[MFC] 일본어 폰트 지원 문제에 관련해서 (0) | 2011.07.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- NDK
- 드라이버
- Visual C++
- jni
- Python
- jni강좌
- kering
- API
- it
- AWS
- linux
- java
- C
- source
- Quiz
- 프로그래밍
- winapi
- android
- Cloud
- 리눅스
- MFC
- db
- driver
- 음악
- Troubleshooting
- database
- 안드로이드
- C++
- algorithm
- gcc
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함