강좌,팁

[팁:003] 종료시 MS Office와의 충돌 피해가는 대안

조회 수 13561 추천 수 0 2003.04.01 15:13:22
제가 질문과 답변 게시판에 "실행후 Fatal Run-time Error"라는 제목으로 올린 질문과,
야리싸내님이 "아~~ 이런 에러는 또 처음이네요....." 라는 제목으로 올리셨던 문제를 피해가는 방법을 강구해보았습니다.

다른 분들은 어떤지 모르겠는데요, 제가 사용한 Windows 2000 Professional 과 MS Office XP가 설치된 상황에서는 CVI로 작성한 프로그램이 종료시에 메모리 관련 에러가 나곤 했었습니다.

MS Office XP가 설치되지 않은 환경에서는 아무 문제 없는데, 유독 제 PC나 MS Office XP가 설치된 다른 분의 PC에서는 종료시에 이유없는 에러가 나곤 하더군요.

그런데, 어떤 때는 그런 에러가 나지 않는 경우도 있었습니다.
그래서 어떨 때 그런 에러가 나지 않는지를 여러번의 테스트를 통해 알아봤습니다.

결론은,
Main Panel이 display된 이후에 다른 Panel이 display되면 종료시에 아무 문제가 없었습니다.

프로그램 내에서 MessagePopup()같은 Popup Panel을 사용해도 문제가 없어지더군요.

그래서 프로그램 시작시에 크기가 0인 Panel을 하나 순간적으로 띄웠다가 숨기는 방법을 이용하기로 했습니다.

UIR 파일에서 임의의 Panel을 하나 만드십시오. 그리고, 그 속성을 아래와 같이 하십시오.

    --------------------------------------------
    Height: 0 (Panel이 화면 상에 잘 보이지 않도록 하기 위한 조치)
    Width: 0 (Panel이 화면 상에 잘 보이지 않도록 하기 위한 조치)
    Other Attributes의 Title Bar Visible를 체크
    ---------------------------------------------

그런 다음, main()함수의

    DisplayPanel (panelHandle);

이후에
   
    DisplayPanel (panelHandle2);
    HidePanel(panelHandle2);

이렇게 넣으주시면 되겠습니다.
대부분 이렇게 하니 문제가 해결되더군요.

이런 문제가 발생하지 않는 분들은 상관없겠습니다.

야리싸내

2003.04.02 12:56:07
*.96.191.238

수고하셨습니다..창원님....^^

허창원

2003.04.21 16:15:11
*.96.191.238

조금 더 확실한 방법은 main()함수에서 메인 panel을 discard 하기 직전에 실행하는 거겠군요. 다음과 같이 말입니다. int main(...) { .................. /// Windows2000, MS Office 환경에서 종료시 생기는 문제를 해결하기 위해...:시작 DisplayPanel (panel_Tmp); HidePanel (panel_Tmp); DiscardPanel (panel_Tmp); /// Windows2000, MS Office 환경에서 종료시 생기는 문제를 해결하기 위해...:끝 DiscardPanel (panelHandle); return 0; }
List of Articles
번호 제목 글쓴이 날짜 조회 수
56 [팁:6] 배포판(설치) 프로그램에 데이터 폴더 포함하기 허창원 2004-05-20 14916
55 [팁:5] Parallel Port 이용할 때, CVI Low-level support driver [2] 허창원 2004-05-18 12860
54 [팁004]팁아닌...팁..Text Message오른쪽 정렬..... [4] 야리싸내 2004-02-02 14964
53 객체의 위치값을 이용한 퍼즐 게임. file [2] 조인배 2004-01-09 13724
52 [강좌020]실행시에 uir파일을 사용하지 맙시다. file [6] 야리싸내 2003-12-19 13338
51 [강좌:019] CVI 런타임엔진과 설치 프로그램 허창원 2003-12-08 14648
50 그래프에 Zoom 기능을 만들어봤습니다.. ^^ file 야리싸내 2003-09-30 13393
49 헉..ㅠ_ㅠ;; 죄송합니다..위에 첨부파일에 소스가 없네요....ㅠ_ㅠ; file 야리싸내 2003-11-26 13338
48 [팁:003] NI DAQ 프로그래밍 예제 얻기 file 허창원 2003-08-11 14858
47 켄바스 기능을 이용한 아날로그시계 file [1] 조인배 2003-07-09 14545
46 [강좌:018] 따라하기 13. AudioPlayer(MP3, WMA, ASF, WAV 등) (2) 허창원 2003-04-11 13230
45 [강좌:018] 따라하기 13. AudioPlayer(MP3, WMA, ASF, WAV 등) (1) [1] 허창원 2003-04-11 14697
44 [강좌:017] 따라하기 12. 재사용 가능한 Library(static lib, DLL) 만들기 허창원 2003-04-11 15481
» [팁:003] 종료시 MS Office와의 충돌 피해가는 대안 [2] 허창원 2003-04-01 13561
42 [강좌:016] 따라하기 11. 데이터 뷰어3로 업그레이드하기 (2) 허창원 2003-03-19 13875
41 [강좌:016] 따라하기 11. 데이터 뷰어3로 업그레이드하기 (1) 허창원 2003-03-19 12743
40 [강좌:015] 따라하기 10. 초기설정파일(ini) 이용하기 (3) [2] 허창원 2003-02-25 14019
39 [강좌:015] 따라하기 10. 초기설정파일(ini) 이용하기 (2) [2] 허창원 2003-02-25 12546
38 [강좌:015] 따라하기 10. 초기설정파일(ini) 이용하기 (1) [2] 허창원 2003-02-25 14840
37 [강좌:014] 따라하기 9. 터치스크린에서 숫자 입력하기 (3) [4] 허창원 2003-01-15 12502