델파이에서 사용되는 언어는 오브젝트 파스칼입니다.
오브젝트 파스칼에서는, 클래스 A와 클래스 B가 같은 유닛에 선언되어 있을 경우 A와 B는 서로 private나
protected 멤버까지 모두 액세스할 수 있습니다. C++이나 자바같은 다른 OOP 언어에는 없는 특징입니다.
그럼...
궁금이 님이 쓰신 글 :
: 소스를 보다가 정말 이해가 안가는 것이 있어서...이렇게 질문은 올립니다.
: 저는 Pascal에 대해서 잘 몰라서 더욱더 이해가 안가는건지...잘은 모르겠지만....
:
: TFlatScrollbar 소스를 보다가 보니까...
: 아래와 같은 소스가 있습니다. 여기서 화살표된 부분을 보시면
:
: procedure TFlatScrollbarButton.DoTimer(Sender: TObject);
: begin
: if FNewDown = True then
: begin
: if Assigned(FOnDown) then FOnDown(Self);
: TFlatScrollbar(Parent).DoScroll; <--------- 이부분
: end;
: end;
:
: DoScroll이라는 Procedure가 TFlatScrollbar에서 private으로 선언되어 있습니다.
: 근데, TFlatScrollbarButton 클래스에서 막 불러서 사용을 하고 있는데....
: 이렇게 써도 되는 겁니까?
:
: 아님...제가 알지 못하는 어떤 메카니즘이 있는건가요?
:
: 화살표 된 부분을 이해를 못하겠습니다.
:
: 만일 <--- 이부분을 C++로 표현으로 바꾸면 어떻게 되나요?
:
: 컴포넌트에 대해서 공부하는데 너무 어렵습니다.
:
: 고수분들의 많은 답변 부탁드리면서....
:
: 그럼...
:
|