C++Builder 6.0에서는 사용할 수 있었던 Class Explorer가
C++Builder 2006 인가 2007부터 없어져서
프로퍼티를 추가하거나 Method를 추가할때 불편이 있었습니다.
듣기로는 라이센스 관련 문제로 기능이 빠진것이라고는 합니다만
안쓰던 사람이면 몰라도 잘 쓰던 사람에게 기능이 빠지는것은
상당히 치명적이었습니다.
사실 너무 불편하죠~
이번에 C++Builder 2010이 발표되면서 새로 Class Explorer 기능이
다시 추가 되었는데.
대충 해봤는데 제대로 동작이 안되었기 때문에 다시 해볼 생각을 못하다가
지인과 이 내용에 관련하여 통화하면서 한번 새로 만든 프로젝트에
해보니까 잘 동작 됩니다.
C++Builder 2010에서 Class Explorer 를 여는 단축키 방법은
CTRL + '-' 키 입니다. 물론 메뉴에서 찾아서 열어도 됩니다.
기능은 다음과 같이 3가지가 있습니다.
Add Field : 멤버변수 추가
Add Method : 멤버 함수 추가
Add Property : 프로퍼티 추가 ( 가장 많이 사용 )
프로퍼티를 추가할때는 보통
Set 함수와 Get함수까지 만들어야 하고 이를 헤더와 CPP파일에 추가해야 하기 때문에
여간 귀찮은 일이 아닙니다.
이런 귀찮은 작업을 Class Explorer 의 Property 추가 다이얼로그 에서 쉽게 선택하는 것 만으로도
가능하니 얼마나 고마운 존재입니까.
간단히 사용 예로 아래에서 Count라는 int형 Property를 추가해보겠습니다.
ADD를 클릭하면 아래와 같이 헤더와 CPP에 자동으로 추가가됩니다.
SetCount와 GetCount도 자동으로 추가가되는군요
그런데 한가지 아쉬운 점은
C++ Builder 6.0에서는 Set 함수에 기본적인 코드까지 추가가 되었는데
C++ Builder 2010에서는 안됩니다.
예를 들면 다음과 같은 코드가 자동으로 들어가 있었습니다.
void __fastcall TForm1::SetCount(int val)
{
if( Count != val )
Count = val;
}
기능이 아쉽네요
그리고 Property 추가 화면에서 배열형 프로퍼티까지 입력할 수 있게되어있었는데
그 기능도 안보이는군요
배열형 프로퍼티란 Memo의 Lines[int idx] 와 같이 배열로 접근하는 프로퍼티를 말합니다.
입력하는 다른 방법이 있는지는 모르겠습니다.
아래 이미지는 C++Builder 6.0에 있는 다이얼로그인데
선택 옵션이 더 많습니다.
한참 새버전임에도 기능이 줄어든 것 같군요 ㅠㅠ
또 한가지..
헤더파일이 너무 크거나 파싱에 문제가 생기면
Class Explorer 기능이 동작하지 않습니다.
6.0에서는 이런문제로 동작안했던 적이 없던것 같은데..
이부분도 많이 아쉽습니다.
[헤더파일]
[ CPP파일]
그런데 한가지 아쉬운 점은
C++ Builder 6.0에서는 Set 함수에 기본적인 코드까지 추가가 되었는데
C++ Builder 2010에서는 안됩니다.
예를 들면 다음과 같은 코드가 자동으로 들어가 있었습니다.
void __fastcall TForm1::SetCount(int val)
{
if( Count != val )
Count = val;
}
기능이 아쉽네요
그리고 Property 추가 화면에서 배열형 프로퍼티까지 입력할 수 있게되어있었는데
그 기능도 안보이는군요
배열형 프로퍼티란 Memo의 Lines[int idx] 와 같이 배열로 접근하는 프로퍼티를 말합니다.
입력하는 다른 방법이 있는지는 모르겠습니다.
아래 이미지는 C++Builder 6.0에 있는 다이얼로그인데
선택 옵션이 더 많습니다.
한참 새버전임에도 기능이 줄어든 것 같군요 ㅠㅠ
또 한가지..
헤더파일이 너무 크거나 파싱에 문제가 생기면
Class Explorer 기능이 동작하지 않습니다.
6.0에서는 이런문제로 동작안했던 적이 없던것 같은데..
이부분도 많이 아쉽습니다.
'프로그래밍' 카테고리의 다른 글
TPageControl 사용법 설명 (0) | 2012.02.07 |
---|---|
C++빌더 2010에서 Build Event 사용하기 (0) | 2010.12.07 |
F1008 Out of memory 에러 뜰때 (0) | 2010.01.31 |
TDateTime의 DecodeTime() (1) | 2009.11.02 |
컴파일에러:E2111 Type 'typename' may not be defined here (3) | 2009.10.27 |