|
로렌조 입니다....
사용하는 콘트롤의 메소드를 오버라이드 할 경우에 조상의 메소드를 먼저 행해야 한다면
가장 먼저 써야 하는거고요. 자신의 코드를 먼저 행해야 한다면 마지막에 적어줍니다..
예를 들들자면 다음 코드에서
//----------------------------------------------------------------------------
procedure TColorButton.KeyUp(var Key: Word; Shift: TShiftState);
begin
inherited KeyUp(Key, Shift);
if(Key=VK_SPACE) and (Enabled) then
begin
FState:= bsUp;
Click; Repaint;
end;
if(Key=VK_RETURN) and (not (FState=bsDisabled)) then Click;
end;
//----------------------------------------------------------------------------
위 경우는 키올림 처리에서 조상 콤포넌트의 키올림 처리를 먼저하고 그 후에 자신의
키처리를 하겠다는 표현이고
아래의 경우는 가장 흔히 쓰는 부분으로 버튼을 파괴시킬 때 자신이 사용한 메모리를
해제 시킨 후에 콤포넌트를 파괴하겠다는 뜻으로 사용된 것입니다..
//----------------------------------------------------------------------------
destructor TColorButton.Destroy;
begin
FPicture.Free;
inherited Destroy;
end;
//----------------------------------------------------------------------------
설명은 잘 못했지만 이해하시리라 믿고 이만....
이단자 님이 쓰신 글 :
: 한가지 더 질문...
:
: inherited 이 명령어(?)가 함수 안에 가장 위에 적혀 있는데.... 그때 하는 역활이 뭔가요..
: 들어 있는 함수도 있고 없는 함수들이 있던데....
|