Data Analysis for Investment & Control

[Tip] DLL에서 다이얼로그 사용 시, 다이얼로그 창이 뜨지 않는 문제 본문

Code/C++:C#:MFC

[Tip] DLL에서 다이얼로그 사용 시, 다이얼로그 창이 뜨지 않는 문제

아슈람 2015. 5. 18. 21:45
반응형

 

 

MFC 프로그래밍을 하다 보면, 특정 다이얼로그를 모듈화 시켜 사용하고 싶어질 때가 있다.

 

그런데, DLL 내에서 다이얼로그를 DoModel을 이용하여 호출 시, 에러 발생은 안하는데 다이얼로그 창이 아예 뜨지 않는 경우를 겪었다. 이럴 경우에 다음을 확인해 보는 것을 조언한다.

 

1. 다이얼로그 리소스 이름이 잘 매칭 되어 있는지를 확인한다.

  -> 해당 다이얼로그의 헤더에 enum { IDD = IDD_DIALOG_NAME } 과 같은 부분에서 IDD_DIALOG_NAME가 리소스 파일에 존재하는지 확인한다. 만약 없다면, 해당 다이얼로그의 리소스 이름과 맞춰준다.

 

2. DLL 프로젝트 속성에서 일반 > MFC 사용란에 '정적 라이브러리에서 MFC 사용'으로 설정이 되어 있는지 확인한다.

  -> 만약 다른 설정이라면 '정적 라이브러리에서 MFC 사용'으로 바꾸고 다시 시도해 봐라.

 

다른 이유로 에러가 발생한다면, 해당 에러 메시지에서 힌트라도 얻을 수가 있는데, 위의 경우에는 그냥 창이 안뜨기 때문에 디버깅하기가 쉽지 않았다.

 

 

반응형
Comments