자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 퀀텀그리드 이벤트 관련 문의드립니다.
2018.09.19 17:34
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
화면에서 2개 그리드를 마스터 디테일 구조로 사용하고있는데요.
마스터 그리드에서 TableView 이벤트 OnFocusedRecordChanged를 사용해서 포커스된 레코드row가 변경되면
디테일 그리드를 조회하게 하는 구조입니다.
마스터 그리드를 마우스로 클릭해서 OnFocusedRecordChanged 이벤트가 발생하면 조회속도가 정상적이지만
마스터 그리드에서 사용하는 Checkbox에 포커스를 두고 클릭하게되면
OnFocusedRecordChanged이벤트와 Checkbox의 체크 이벤트가 동시에 발생해서 그러는지
조회속도가 현저히 느려집니다.
제생각에는 OnFocusedRecordChanged 이벤트 호출후에 Checkbox 체크 이벤트를 순서대로 발생하게 하면 될것같은데요
컴포넌트 이벤트 순서를 제어할 수 있는 방법이 있을까요?
일반적으로 Create, Show, Close같은 화면 이벤트는 구글검색으로 발생순서를 확인했으나
컴포넌트 이벤트는 찾지 못해서 문의드립니다.
빠른 답변 부탁드려요.
Delphi 퀀텀그리드 이벤트 관련 문의드립니다.
2018.09.19 17:34
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
화면에서 2개 그리드를 마스터 디테일 구조로 사용하고있는데요.
마스터 그리드에서 TableView 이벤트 OnFocusedRecordChanged를 사용해서 포커스된 레코드row가 변경되면
디테일 그리드를 조회하게 하는 구조입니다.
마스터 그리드를 마우스로 클릭해서 OnFocusedRecordChanged 이벤트가 발생하면 조회속도가 정상적이지만
마스터 그리드에서 사용하는 Checkbox에 포커스를 두고 클릭하게되면
OnFocusedRecordChanged이벤트와 Checkbox의 체크 이벤트가 동시에 발생해서 그러는지
조회속도가 현저히 느려집니다.
제생각에는 OnFocusedRecordChanged 이벤트 호출후에 Checkbox 체크 이벤트를 순서대로 발생하게 하면 될것같은데요
컴포넌트 이벤트 순서를 제어할 수 있는 방법이 있을까요?
일반적으로 Create, Show, Close같은 화면 이벤트는 구글검색으로 발생순서를 확인했으나
컴포넌트 이벤트는 찾지 못해서 문의드립니다.
빠른 답변 부탁드려요.
결론부터 말씀드리면 이벤트 발생 순서를 제어할 수 없습니다.
(컴포넌트의 이벤트는 컴포넌트 객체에서 발생하므로, 컴포넌트의 소스코드를 수정하지 않는 이상 변경할 수 없습니다.)
이벤트 발생 순서를 알고 싶으시다면, 직접 테스트 해보는 방법이 가장 쉽고, 빠를 것 같습니다.
파악해야 하는 컴포넌트의 이벤트에서 메모 등에 로그를 출력하도록 구현하고 다양하게 동작하며 이벤트 발생 순서를 파악해 보시기 바랍니다.
또는, 컴포넌트의 소소코드를 파악해 이벤트 발생 순서 또는 어떤 경우 이벤트가 발생하는지 파악하면 좀 더 정확하게 컴포넌트를 사용하실 수 있을 겁니다.
(다만, 기능이 많은 컴포넌트들은 파악이 쉽지는 않습니다.)
결론은 아시다 시피 이벤트를 동시에 발생하지 않도록 우회하는 방법이 정답일 것 같습니다.
——————
답글이 도움이 되셨는지 다른 분들도 참고할 수 있도록 결과 댓글 부탁드립니다.
(결과 댓글이 없는 경우 다른 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)