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
[19071] Re:질문 하나 더용...^^;;
유영인.Chris [cuperido] 828 읽음    2002-06-03 14:11
가끔.. 아주 가끔.. 아무런 문제가 없어도 빌더의 버그로 에러가 나기는 합니다만..

대부분의 종료시의 에러는 메모리 해제나 포인터로 지정된 프로씨져등을 찾을 수 없을때 발생되는 문제입니다. 예를 들어, Application->OnMessage 같은 함수를 따로 지정해 두고 폼을 동적 생성시켜서 계속 OnMessage 함수를 바꿔줄때, 폼을 종료시에 OnMessage 처리를 정확히 하지 않으면 다른 곳으로 지정된 OnMessage 함수로 호출하는 경우입니다. 이 경우, 이미 객체가 소멸되었으니 찾을 수 없어 에러가 나겠지요.

메모리 부분에 관해서는 아래 게시물이 도움이 되실지도 모르겠습니다.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=18724

그리고, OnResize 이벤트는 폼이 줄어들거나, 커질때 모두 발생합니다. (지금 다시 확인도 해봤구요) 아무래도 그림을 그려주는 타이밍이나, 폼에 그려줄때, Refresh를 시켜주시지 않으셔서 그런지도 모르겠습니다. 폼에 그린 그림은 화면이 가려지면 지워집니다. 이 때는 OnPaint 이벤트가 발생하게 되구요..

아무래도 선을 그리는 루틴에 문제 원인이 있을 경우가 크겠네요. 그리고 OnResize는 사이즈가 변경된 후!!에 발생합니다. 그래서, OnResize에서 객체의 크기등을 얻어올 때, 변경된 후라고 생각하고 코딩을 하셔야 합니다.

Image 컴포넌트는 가려져도 지워지지 않습니다. 만약 폼의 OnPaint 이벤트를 따로 처리해주시기가 귀찮으시면 Image 컴포넌트를 Form에 씌워놓으시고, Image의 Canvas 에서 작업을 하셔도 괜찮으실 껍니다.

그리고, 기훈님 질문이 개인적으로 너무 난해합니다. 에러 메세지와 상황을 자세히 설명해 주시면 더 좋은 답변을 다른분들에게도 들을 수 있지 않을까 생각됩니다.


배기훈 님이 쓰신 글 :
: 위에껀 끄고 다시 하니깐 되긴하는데.. 뭔가 깨름칙하네용.. 다시 그러기도 해서리.. 그럴때 마다 껐다가 켜야 하는건지..
:
: 새로운 질문은 FormResize함수에다가 그림그리기를 했습니다.
:
: 근데 이상하게 OnResize이벤트가 이상하게도 폼이 작아질때 적용이 안됩니다.
: 폼을 늘릴때는 선이 같이 늘어나긴 하는데요.. 이상하게도 줄일땐 같이 안작아 지네용..ㅡ.ㅡ;;

+ -

관련 글 리스트
19052 Internal Error COM-656 배기훈 852 2002/06/01
30084     Re:Internal Error COM-656 배기훈 890 2002/06/01
30083     Re:Internal Error COM-656 배기훈 931 2002/06/01
30082     Re:Internal Error COM-656 배기훈 796 2002/06/01
19055     질문 하나 더용...^^;; 배기훈 736 2002/06/01
19071         Re:질문 하나 더용...^^;; 유영인.Chris 828 2002/06/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.