|
IDE 관련 부분도 OpenToolsAPI를 통해 대충 파악 가능합니다.
빌더 IDE 자체도 거의 예술이죠.. 컴포넌트 디자이너를 만들어보면 많이 느낄 수 있습니다.
VCL의 동작 원리를 파악할 때 가장 중요한 부분은 제 생각에는 TPersistant까지 입니다.
그 안에 DFM파일로부터 읽어들이는 부분까지 거의 모든게 다 구현되어 있죠.
상속 계층을 추적하면서 꼼꼼히 살펴보시면 경탄을 거듭하게 되실겁니다.
전에 VCL없이 VCL처럼 돌아가는 가벼운 컴포넌트 라이브러리를 나름대로 만들어보다가 VCL
의 구조를 많이 살펴보게 됐었는데 구조를 알면 알수록 만들 의욕은 점점 반비례해서 결국
중단해버렸는데 나름대로 좋은 경험이 됐습니다. ^^
유영인.Chris 님이 쓰신 글 :
: 안녕하세요.
:
: 별로 도움이 되실만한 말씀인지는 모르겠지만, 모든 컨트롤은 소스가 포함되어 있습니다. (C++ Builder 디렉토리의 Source\VCL)
:
: 델파이 소스라서 도움이 되실런지는 모르겠지만, 실질적인 VCL들이 어떻게 동작하나 하는것들은 짬짬히 보실 수 있을것이라 생각됩니다.
:
: 그리고 디자인 타임에서 컴포넌트를 올리면 내부적으로 어떻게 처리되고, 오브젝트 인스펙터에서 이벤트를 지정하면 함수가 어떻게 등록이 되는것들은 (이건 눈으로는 보이겠지만요) .. 이런건 C++ Builder 내부의 기능이니 이건 C++ Builder 제작자들이 공개하지 않는한 알기 힘든 문제라고 생각되네요. 하지만, 대부분 기능들이 개발자들이 다시 포팅할 수 있도록 쉽게 짜여진 것은 사실입니다.
:
: 컴포넌트를 올리면.. DFM 파일에 컴포넌트의 디자인등을 모두 파일에 넣구요.. 헤더에, 그 컴포넌트의 객체를 선언시키는 것이고, 오브젝트인스펙터에서 이벤트를 지정하면 그 해당 이벤트를 선언시키죠. 해당 VCL 소스를 보시면, 그 해당 이벤트가 NULL 이 아니면, 그 이벤트의 함수를 호출하도록 그렇게 선언이 되어 있구요..
:
: 너무 뻔한 답변이었나요..? 어찌하였든.. 사용하시면 사용하실수록 어떻게 돌아가는지는 머리속에 그려지실것이라고 말씀드릴 수 있습니다.
:
:
: 최흥배 님이 쓰신 글 :
: : 오늘도 또 질문 올립니다.^^;;
: : 예전에 가남사에서 나온 빌더5의 책을 산 적이 있지만 이 책은
: : 빌더 소개와 간단한 프로그램을 예를 들면서 응용 위주로 나와
: : 있어 빌더의 내부 구조와 동작 흐름 등이 나와 있지 않거군요..
: :
: : 빌더의 라이브러리 등은 계층도를 보면서 외우면 된다고 해도 내부
: : 가 어떻게 되어 있고 폼에 컴포넌트등을 올리면 어떤식으로 처리하고
: : Object Inspective에서 이벤트를 지정하면 함수가 어떯게 등록되는지 등
: : 많이 궁금하네요..
: :
: : 이런걸 알려면 어떤 걸 보면 좋고 어떤식으로 공부하면 좋은지
: : 고수님들의 한 수 가르침 부탁합니다.^^
: :
: : 그럼 수고하세요
|