|
제가 하고 있는 프로그램이 검사 장비 만드는 일인데요
프로그램을 만들다 보면 항상 느끼는것이지만 C++을 그냥 C언어 마냥 짜는게 가장 못마땅 했습니다.
예를들면 어떤 I/O에서 어떤 정보가 들어온다고 하면 그 정보를 계속 읽어서 실시간으로 처리를 해줘야 하는 일이 있는데요
프로그램이 I/O에서 계속 들어왔는지 체킹 해주면서 동시에 다른 여러가지 일을 처리 해주려고 하다 보니
가장 많이 쓰는게 Timer로 몇 interval 만큼 계속 그 정보가 들어왔는지 체크해주고 timer안에서 거의다 처리 해주는 그런 프로그램이다 보니 수정하기도 좀 까다롭고 가독성이 상당히 떨어지는 프로그램이 되버리는데요
새롭게 컴포넌트를 만드는것이 아니라 기존에 있던 컴포넌트 예를들면 첨부파일에 있는 Button 같은 원래 프로피터가 정의 되어있는 그런 컴포넌트에 "저쪽 I/O 에서 헨들러 신호가 오면 ~~~ 하게 처리 해줘" 라고 처리를 해주는 방법이 있는지 해서 글을 올려봅니다.
요지는 이런식으로 루프를 써서 어떤 값이 들어왔는지 주기적으로 검사 하는게 아니라 헨들러 자체가 해당 I/O에 데이터가 들어왔는지 판별해서 다른 헨들러에게 알려주는 방법이 없을까요?
간단한 예로 버튼을 하나 만들고 클릭 이벤트 등록 해주면 프로그램이 실행되는동안 어떤 특정 루프가 돌지 않아도 클릭이 되면 Button1Click() 이벤트가 동작되는것 처럼 그런 이벤트를 제가 직접 어떤 컴포넌트에 등록이 가능한가요?
이쪽 검사 장비 관련 일하시는 분들이나 아니면 다른 분들도 대부분 Timer로 처리를 하시는지..?
조언을 구합니다.
|