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
[53672] Re:프로그램 실행 시에..
아제나 [azena] 1170 읽음    2008-06-14 19:26
일단 코드는 제대로 짜신 것 같고요. 아마 맵 오브젝트 초기화 관련 작업을 FormCreate 이벤트에서 하신 모양인데요.

물론 다른 곳에 해도 마찬가지이긴 하지만, 화면이 갱신되고 창이 그려지고 버튼을 누르는 작업 등이 처리되게 하려면 윈도우 메시지의 적절한 처리가 필요합니다. 어떤 펑션에서 시스템 자원을 계속 쥐고 있으면 윈도우 메시지가 처리되지 못하여 화면 갱신 등의 처리가 전혀 이루어지지 않습니다. 무한 루프 등이 가장 적절한 예이지요. while(1); 등으로 무한 루프를 걸면 창 이동도 안 되고 창이 가려졌다가 다시 보이는 상황이 되어도 그려지지가 않지요.

간단한 방법은 Application->ProcessMessages(); 문장을 루프나 시간이 오래 걸리는 작업들 사이사이에 넣어 주시는 것입니다.

복잡한 방법은 맵 오브젝트가 초기화 되는 부분을 스레드로 처리하는 것이죠.

이 경우에는 스레드 처리하면 좋기도 하겠지만, 맵이 로딩되기 전에 수행해야 할 일이 없을 것 같은 상황이므로 간단한 방법을 쓰시면 될 것 같습니다.


조세현 님이 쓰신 글 :
: C++ Builder 로 짜여진 프로그램입니다.(제가 짠 건 아닙니다)
: 맵오브젝트를 이용해서 지도정보를 표출하는 프로그램인데요
: 프로그램을 실행 시키면 완전히 뜨는 데까지 1분 정도가 걸리는데요
: 그 1분동안 잡업표시줄에만 표시되다가 창이 뜹니다.
: 이미지를 넣은 스플레시 폼도 만들어봤는데 2초 후에 종료되게 해놓았지만
: 프로그램을 실행시키면 스플레시 폼이 뜨더니 이미지가 잠깐만 표시되고 없어진다음
: 스플레시 폼도 같이 살아있다가 프로그램이 완전히 뜨면 다시 이미지가 잠깐 표시되고
: 사라집니다....
:
: 한글같은 프로그램같이 스플레시 폼이 떴다가 프로그램 로딩완료되면 없어지게 하려고 하는데...
:
: 제가 보기에 프로그램에 쫌 문제가 있는 듯한데 전혀모르겠네요..
:
: 고수분들의 답변 부탁드려요

+ -

관련 글 리스트
53668 프로그램 실행 시에.. 조세현 1072 2008/06/14
53672     Re:프로그램 실행 시에.. 아제나 1170 2008/06/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.