none
파일 대화상자 오른쪽 마우스 클릭으로 프로그램 정지 RRS feed

  • 질문

  • 저희가 작성한 상업용 프로그램이 있읍니다.

    VS2010, MFC 로 만들었고 XP 와 WIN7 에서 운용해왔읍니다.

    XP 에서는 현상이 발생하지 않고 .....

    Win7 에서는 발생하는 PC도 있고 발생하지 않는 PC 도 있읍니다.

    발생하는 경우는 .....

    프로그램이 결과를 파일로 저장하려할 때 (다른이름으로 저장) 파일 저장 대화상자기 뜨지요 ...

    이 때 새로운 디렉토리를 만들디 위하여 오른족 마우스 버튼을 누르게 되는데 ....

    XXX 의 작동이 중지되었읍니다...

    라는 메세지가 나오면서 프로그램이 죽는 현상입니다....

    원인과 해결책이 있을까요?


    2016년 5월 12일 목요일 오전 2:52

모든 응답

  • 안녕하세요

    말씀해주시는 내용으로는 원인을 찾기가 어렵습니다.

    언뜻보기에는 저장 다이얼로그 호출시에 무언가를 잘못한 아닌가 싶습니다. 예외처리를 잘못했다거나...

    CFileDialog에 대한 설명을 아래 링크로 추가하였습니다. 참고해주시면 감사하겠습니다.

    https://msdn.microsoft.com/ko-kr/library/wh5hz49d.aspx

    감사합니다.

    2016년 5월 12일 목요일 오전 3:06
  • 프로그램은 SDI 형식이고요....

    Document 에  OnFileSaveAs 함수를 override 로 구현한 것이 아니고.....

    VS2010 에서 제공하는  doccore.cpp  에 있는 것을 그대로 사용하는 것이라서  .....

    즉 다이얼로그를 내가 호출하는 것이 아니고 MFC 가 호출해 준 것이 됩니다 .....

    OnSaveDocument  는 당연히 구현하게 되지만  오른쪽 버튼의 경우는 여기까지 오지도 않지요 .....

    2016년 5월 12일 목요일 오전 9:20
  • 안녕하세요.

    일단 doccore.cpp에 있는 메소드의 에러이슈는 없는 것으로 보아, Win7 에서는 발생하는 PC가 있고 아닌 PC가 있다고 하셨는데, 디버깅툴을 통하여 정확한 원인을 파악하셔야 할 것 같습니다.

    또한 해당 부분 소스코드를 보여주시면 원인파악에 도움이 될 것 같습니다.

    감사합니다.

    2016년 5월 13일 금요일 오전 1:43
  • 다이얼로그 실행하고 리턴받는 부분까지 try catch로 감싸고

    catch에서 ::GetLastError()로 결과값 찍으면 어떤 값이 나오나요?

    2016년 8월 12일 금요일 오전 7:31