강좌 & 팁
프로그램의 UI 가 구성 되었으니, 이제 본격 적으로 기능 구현일 해 볼때 입니다.
1. Serial 통신 클래스 만들기
-> 프로젝트에 새로운 클래스를 추가 합니다.
-> Categories 를 MFC 로 선택 하고, Templates 를 MFC Class 로 선택 한 후 add 버튼을 눌러 줍니다.
-> Class
name 을 CMycomm 이라고 지었고, Base class 를 CCmdTarget 으로 선택한다.
-> Base class 선택 하는거 매우 중요 합니다.
지금 만들 CMycomm 이라는 클래스가 바로 CCmdtarget 이라는 클래스를 상속받는 다는 뜻 입니다.
-> Finish 를 누르면 해당 클래스가 프로젝트에 추가되고, 생성된 파일또한 추가 되게 됩니다.
-> 이렇게 추가된 클래스(CMycomm) 가 보여지게 됩니다.
그런데..간혹 바로 안보일 때가 있는데..껐다가 다시 프로젝트 키면 보이게 됩니다.. 왜그런지 도저히 알 수 없었습니다 ;;
2. CMycomm 클래스의 각 매소드 등록 및 구현
막 등록된 클래스를 열어보면
말그대로 클래스 정의와 생성자만 달랑 있고, 맴버변수나 사용될 매소드들은 전무한 상태 입니다.
사실 시리얼통신에 사용되는 객체들도 모두 상속받아서 쓰는 것들이고, 지금 등록한 CMycomm 클래스는 상위클래스에서 물려받은 것들에 설정값을 넣고 사용하기 위한 중간 클래스라고 생각 하면 될 것 같습니다. 따라서 실제 통신을 위해 설정되는 것들은 정해져 있으며, 이것들을 어떻게 잘 설정 할 것이지를 정의 한게 CMycomm 클래스 입니다. 즉, 얼마든지 개발자에 의해서 다르게 만들어 질 수도 있으며… 결과적으로 그냥 복사해서 쓰는 것이 최고다…이런 뜻이 되겠 습니다 ;;
결국 DCB 구조체(시리얼 통신장치의 제어환경을 정의한 구조체)에 값을 넣는 작업인데. 이것을 어떻게 하든지 간에 결국 비슷한 결과가 되기 때문 입니다.
따라서 DCB 구조체의 설정 값들을 넣기 위해 임시로 받을 변수들과, 시리얼포트를 열 함수, 받는 함수등 골고루 필요한 기능들이 있으며 이것들을 매서드로 만들면 되는 겁니다.
다음 시간에 세부적인 기능 구현을 이어서 진행 하겠습니다.