Delphi 2006 부터 추가된 기능으로 개체를 상속하지 않고 클래스를 확장 할 수 있는 방법입니다.
간단한 예제를 위하여
TEdit.Text 값을 Integer 값으로 불러 올 수 있는 기능을 구현 해 보렵니다.
1. Edit 컨트롤을 2개 올려 놓고 Edit1.text:= '2100'; Edit2.Text:= '3200';을 넣습니다.
2. type 문 가장 상단에 아래와 같은 형식으로 추가합니다.
type
TMyEditor = class helper for TEdit
function Value: integer;
end;
3. Ctrl + Shift + 'C"를 누르면
{ TMyEditor }
function TMyEditor.Value: integer;
begin
end;
이 만들어 집니다. begin end 사이에 아래 문장을 추가합니다.
if text <> '' then
result:= StrtoIntdef(text,0);
4. 그리고 버튼을 하나 올려 놓고 아래와 같이 추가합니다.
procedure TForm3.Button1Click(Sender: TObject);
begin
ShowMessageFmt('%d',[Edit1.Value + Edit2.Value]);
end;
5. TEdit 에 Value 라는 메소드가 추가 되었고, 디자인 타임에서도 적용 됨을 알 수 있습니다.
6. 다른 폼에서도 interface 의 uses 에 추가만 해준다면 그곳에서도 사용이 가능합니다.
7. Xe3 버전 부터는 Record Helper 라는 것이 추가 되었네요.
댓글 없음:
댓글 쓰기