패널의 컴포넌트는 상속받아 쓰고
여기에서 에디트와 레이블은 선언하여 사용할것입니다.
책에 있는 그대로인데 compile이 되지 않네요
이유좀 알려주세요
부탁합니다.
unit JJunEdit;
interface
uses
SysUtils, Classes, Controls, ExtCtrls;
type
TJJunEdit = class(TPanel) // 패널을 상속받은 사용자 패널
private
{ Private declarations }
LabelS : TLabel; // 에디트와 레이블의 특성을 사용할 것이므로
EditS : TEdit; // [Private]이곳에 선언
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(Aowner:Tcomponent);override;
published
{ Published declarations }
// 에디트의 프로퍼티속성을 사용할 수 있도록 연결
property EditK:TEdit read EditS write EditS;
// 레이블의 프로퍼티속성을 사용할 수 있도록 연결
property LabelK:TLabel read LabelS write LabelS;
end;
procedure Register;
implementation
constructor TJJunEdit.Create(Aowner:Tcomponent); // 직접 상속받은것
Begin
inherited Create(Aowner);
caption := ' ';
width := 131;
height := 50;
EditS := TEdit.Create(self);
EditS.parent := Self;
EditS.font.Name := '굴림체';
EditS.font.Size := 10;
EditS.left := 5;
EditS.top := 19;
EditS.width := width-10;
EidtS.text := '';
EditS.show;
LabelS := TLabel.Create(self);
LabelS.parent := self;
LabelS.font.name := '굴림체';
LabelS.font.size := 10;
LabelS.left := 7;
LabelS.top := 5;
LabelS.width := width - 10;
LabelS.show;
end;
procedure Register;
begin
RegisterComponents('Samples', [TJJunEdit]);
// 컴포넌트팔레트의 Samples페이지에 등록
end;
initialization
// 직접 선언되지 않았으므로 초기화할 때 클래스를 등록한다.
RegisterClasses([TEdit]);
RegisterClasses([TLabel]);
end.