|
그렇게 하는 것이 맞습니다.
그러니까, 프로퍼티 선언 부분에서 default로 지정해주고 생성자에도 지정해줘야 합니다.
프로퍼티 선언 부분에서 default로 지정한 것의 효과는 프로퍼티의 현재 값이 default와 같을 경우 폼에 저장하지 않는다 (정확하게는 스트리밍하지 않는다)는 것 뿐입니다.
실제로 기본값이 설정되려면 생성자에서 지정해주어야 합니다. 만약, 프로퍼티에서 디폴트값을 지정해줬다고 해서 해당 내부 변수에 초기값도 안줬는데 자동으로 초기값이 설정된다면 프로퍼티의 개념이 일반적인 프로그래밍 개념을 벗어나는, 좀 이상한 개념이 되지요.
그럼...
마제 님이 쓰신 글 :
: 예전부터 계속 궁금했던것인데요...
:
: 컴포넌트를 만들때....프로퍼티값을 default로 값을 주면 항상 값이 안먹는데...
:
: __property TColor BorderColor = { read = FBorderColor, write = SetBorderColor, default = clRed};
:
: 위와 같이 default값을 주거든요....
:
: 근데 Object Inspector에 나타는 값은 항상 clBlack이 나오네요...디폴트로...
:
: 생성자값을 세팅해주면 주면 되긴하지만.....그래도 이유가 궁금하네요
|