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
[73007] Re:VCL 버튼 클릭 이벤트 발생시점이 언제일끼요? (메인프로세스가 무엇을 하던 중이든 즉시 인가요??)
bugfree [bugfree] 3921 읽음    2015-09-15 12:58
윈도우에서 발생하는 메세지들은 발생순서대로
큐에 들어가지만 윈도우 메세지에도 우선순위가
있어요.

사용자 반응에 즉각 응답해야하는 키보드, 마우스
같은 메세지는 우선순위가 높지만 wm_paint
타이머 같은 메세지는 순위가 낮아요.

발생 순서대로 큐에는 들어가지만, 메세지 핸들러로 보낼때는 우선순위가 높은 놈들을 먼저 꺼내서
처리하고 낮은것들은 한가할때 보내요.

그래서 타이머에 의존해서 코딩하는것은
좋은 방법이 아니에요


그린비 님이 쓰신 글 :
: 안녕하세요. 요즘  환절기라서 비염에 감기 걸리는 사람도 있고,  건강 잘 챙기시길 바라면서~
:
: 질문 드립니다.
:
:
: VCL 버튼 클릭이벤트나 또는 통신 컴포넌트의 데이터 RCV 이벤트 발생 시, 해당 이벤트 처리가 이뤄지는 타이밍이 궁금합니다.
:
: 예를 들어,
: 메인 프로세스가 하나 있고, 이곳에 타이머가 3개라고 가정했을때 (타이머 Interval은 100ms 정도로 가정)
: 타이머 순서는 A->B->C 순이라고 가정.
: TimerA()
: {
:   함수1();
:   함수2();
:   함수3();
: }
:
: TimerB()
: {
:   함수4();
: }
:
: TimerC()
: {
:   함수5();
: }
: 이러한 구조에서 버튼 클릭 이벤트가 발생하게 되면,
: 타이머 A,B,C를 완료하고 나서(함수1,2,3,4,5을 완료) 이벤트 처리가 되나요? 아니면, 메인 프로세스에서 어떤 처리를 하고 있던지 즉시 이벤트 처리가 되나요??
:
:
: 목적은 이벤트 발생시 변수에 데이터를 넣고 이 데이터를 기준으로 최초 A타이머의 함수1,2,3이 순차적으로 처리를 하려고 합니다.
: 만약  TimerA에 함수 2번 동작중 데이터가 변경되면 함수2번 에서 부터 처리가 되면 문제가 됩니다.
: 함수 1번부터 변경된 데이터를 가지고 처리를 해야 하거든요.
:
: 그래서 해결방법으로는 이벤트 발생시 임시데이터를 변경하고 임시데이터를 바로 사용하는게 아니라. 함수1에서 이 임시데이터를 실제 데이터에 대입해서 처리하게끔 하면 함수1->2->3 순차적으로 돌아 갈 것 것 같은데요.
:
: 결론적으로 질문은,
: 1) 이벤트 발생 시점이 정확히 언제인지 잘 몰라서 문의드립니다.
: 2) 통신 컴포넌트의 데이터 RCV 타이밍도 같은 개념일까요? (IndyTCP 나 IndyFTP 등)
:
:
: 그럼 오늘 하루도 즐프 하시길 바라면서~
:  조언 부탁드립니다.
:

+ -

관련 글 리스트
73005 VCL 버튼 클릭 이벤트 발생시점이 언제일끼요? (메인프로세스가 무엇을 하던 중이든 즉시 인가요??) 그린비 3938 2015/09/15
73007     Re:VCL 버튼 클릭 이벤트 발생시점이 언제일끼요? (메인프로세스가 무엇을 하던 중이든 즉시 인가요??) bugfree 3921 2015/09/15
73009         Re:Re:감사합니다. 윈도우 메세지 우선순위에 대해서 자세히 알아보도록 해야겠네요./ 그린비 3975 2015/09/15
73010             Re:Re:Re:감사합니다. 윈도우 메세지 우선순위에 대해서 자세히 알아보도록 해야겠네요./ 송신영 3912 2015/09/16
73029                 Re:Re:Re:Re:정말 궁금했던 부분인데 답변 주셔셔 감사합니다~ 그린비 3870 2015/09/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.