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
[1603] Re:2개의 이벤트가 같이 걸리면 어떻게 되나요???
박지훈.임프 [cbuilder] 3545 읽음    1999-07-19 00:00
: 제목 그대로 입니다.
: 예를 들어 타이머 이벤트의 실행중에 버튼이 눌려진다던가
: 아니면 시리얼 이벤트 실행중 타이머 이벤트가 걸리면
:
: 제가 알기로는 이벤트는 인터럽트 개념하고는 좀 틀린것 같던데
: 인터럽트 처리처럼 우선 순위가 있는지 아니면 기존의 이벤트
: 실행을 종료하고 다음 이벤트를 실행 하는 지
: 그것도 아니면 동시에 같이 실행이 가능한지 좀 알려 주세요...


임펠리테리입니다.
이벤트는, 편의상 구분하자면 그 발생 원인에 따라 직접 윈도우즈 메시지에 의해
발생하는 것과 다른 이벤트 등의 코드 처리과정에서 특정 조건에 발생시키는 것의
두가지가 있습니다.
전자의 예를 들면 일반적인 마우스나 키보드 이벤트등을 생각할 수 있고, 후자는
일반적인 컴퍼넌트에서는 좀 적긴 하지만, 표준 컨트롤이 아닌 사용자 정의 컴퍼넌트들의
이벤트들을 들 수 있습니다.

윈도우즈 메시지에 의해 직접 발생되는 이벤트들은 당연히 그 메시지들의 우선순위에
따릅니다. 보통은, 시스템 메시지들은 해당 윈도우의 메시지큐에 저장되지 않고
윈도우에서 우선 처리됩니다. 물론 그 외의 대부분의 메시지들은 메시지 큐에
일단 저장되고 윈도우의 메시지처리 루틴이 직접 처리해주기를 기다리고 있죠.
어떠한 경우든 이벤트들은 일반적인 함수로서 취급됩니다. 표준 윈32 sdk에서도,
시스템 메시지가 아닌 한은 현재 메시지가 처리되기 전까지는 다른 메시지로 넘어가지
않습니다. 시스템 메시지인 경우에도, 현재 처리중인 메시지 루틴을 종료하고
나가는 것이 아니라 잠시 스택에 저장해놓은 상태에서 우선 메시지를 처리하고
다시 돌아와 처리를 계속하는 거죠.
이정도 설명을 들으셨으면 눈치채셨겠지만, 이벤트가 동시에 발생하는 경우는 절대로
없습니다.

그럼 참고하시길...

+ -

관련 글 리스트
1600 2개의 이벤트가 같이 걸리면 어떻게 되나요??? 김시환 3307 1999/07/18
1603     Re:2개의 이벤트가 같이 걸리면 어떻게 되나요??? 박지훈.임프 3545 1999/07/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.