C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[6537] [질문] 98/ME 에서는 괜찮은데 win2000에서 문제가..
이형종 [jonglee] 2273 읽음    2001-04-03 15:30

별로 대단할 것도 없는 간단한 코드인데 Win2000에서는 실행이 안되고 죽어버립니다.

프로그램이 하는일은, 메인 유닛에서 쓰레드를 만들고 쓰레드에서 루프를 돌면서
할 일을 합니다. 이것이 끝나면 다 끝났다는 것을 알리기 위해 간단한 폼을 보여주고
거기에서 Ok 버튼을 누르면 쓰레드도 끝나게 됩니다.

프로그램이 죽는 곳은 그 폼을 만들 때 입니다. 코드는 다음과 같구요.. TThread::Execute()
의 마지막 부분에 있습니다.

1:    StatusForm = new TStatusForm(MainForm);
2:    StatusForm->ShowModal();
3:    delete StatusForm;

TStatusForm은 미리 디자인 된 폼으로 빌더가 갖고 있는 Label, StatisText, BitButton, Timer
정도의 컴퍼넌트만 갖고 있는 아주 간단한 폼입니다. Timer는 폼이 생성된지 10초 후 자동으로
닫히기 위한 것이구요.

Win2000에 빌더가 설치되지 않은 관계로 제가 위의 라인 사이사이에 MessageBox()를 넣으면서
죽는 위치를 확인했는데 라인 '1'에서 죽더군요. 즉, 2번 라인을 마스킹 시켜도 죽습니다.

실행 상태가 저부분(라인 1)에 오면 Win2000이 다음과 같은 메시지박스를 보이면서 프로그램을 죽입니다.

    abc.exe에서 오류가 발생하여 종료됩니다. 프로그램을 다시
    시작해야 합니다.
    오류 로그를 작성하고 있습니다.

그래서 이벤트 로그를 보니 다음과 같은 것이 만들어져 있더군요.

    원본: DrWatson
    범주: 없음
    종류: 정보

    응용 프로그램()에서 응용 프로그램 오류가 발생했습니다.
    오류는 2001/04/03 @ 14:57:36.489에 발생했습니다.
    주소 77FB0491 (RtlRaiseStatus)에서 c0000025 예외가 발생했습니다.

제가 NT 쪽은 잘 몰라서 이것이 무엇을 의미하는지 잘 모르겠습니다.

아, 또 신기한 현상이 있는데요... 라인 '1'의 바로 앞에 MessageBox()를 넣고 거기서 버튼을 눌러야
진행하게 하면 StatusForm이 잘 보여지면서 프로그램도 죽지 않습니다.

메인 유닛에서 About-box를 같은 방식으로 만드는데 Win2000에서도 잘 보여지더군요.
About-box는 쓰레드에서 생성하는 것이 아닌 것으로 봐서, 쓰레드에서 다른 유닛의
자식 폼을 만드려고 할 때 문제가 생기는 것이 아닌가 생각은 드는데.. 통 모르겠습니다.

도와주세요...

+ -

관련 글 리스트
6537 [질문] 98/ME 에서는 괜찮은데 win2000에서 문제가.. 이형종 2273 2001/04/03
6570     Re:[질문] 98/ME 에서는 괜찮은데 win2000에서 문제가.. 박지훈.임프 2275 2001/04/04
6579         Re:Re: 해결됐어요. 근데 또다른 문제가.. 이형종 2184 2001/04/04
6587             Re:Re:Re: 해결됐어요. 근데 또다른 문제가.. -> 또 혹시나... 박지훈.임프 2175 2001/04/04
6592                 Re:Re:Re:Re: 해결됐어요. 근데 또다른 문제가.. -> 또 혹시나... 이형종 2127 2001/04/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.