답변 정말 감사합니다.
그런식으로 해서....제가 원하는 컴포넌트는 만들었는데....
이 컴포넌트를 외부에서 엑세스할 수 있는 방법을 찾아보니까...
아래와 같은 방법이 있더군요...
unit Dandaiho;
....
...
private
FLabel : TLabel;
FSpeedButton : TSpeedButton;
protected
{ Protected declarations }
public
constructor Create(AOwner:TComponent); override;
destructor Destroy; override;
procedure SetLabel(Avalue : String); {라벨의 캡션을 변경하기위함}
published
{ Published declarations }
end;
...........
.............
procedure SetLabel(Avalue : String);
begin
FLabel.Caption := Avalue;
end;
이런식으로 작성하고 외부에서 .
Dandaiho.SetLabel('안녕');
이렇게 하면 외부에서 엑세스가 가능하다고 해서....
이렇게 했는데....
FLabel.Caption := Avalue;
여기에는 Undeclared Identifier: 'FLabel'이라는 에러가...
procedure SetLabel(Avalue : String); {라벨의 캡션을 변경하기위함}
여기에는 Unsatisfied foward or external declaration:'TDandaiho.SetLabel'
이런 에러가나는데.....정말 난감하네여....T.T
될거 같은데....안되는거시....움.....
도와주세요...
procedure SetLabel(Avalue : String);
begin
FLabel.Caption := Avalue;
end;
문장에 클라스명이 빠져있네요
그러니까
콤포넌트명이 TSimpleLabelButton이라고 할 경우
procedure TSimpleLabelButton.SetLabel(AValue:string);
이렇게 변경해야 합니다.
그리고 SetLabel은
FLabel이 생성되기 전에 호출되면 절대 안됩니다.
이승엽 wrote:
> 답변 정말 감사합니다.
> 그런식으로 해서....제가 원하는 컴포넌트는 만들었는데....
> 이 컴포넌트를 외부에서 엑세스할 수 있는 방법을 찾아보니까...
> 아래와 같은 방법이 있더군요...
> unit Dandaiho;
>
> ....
> ...
> private
> FLabel : TLabel;
> FSpeedButton : TSpeedButton;
> protected
> { Protected declarations }
> public
> constructor Create(AOwner:TComponent); override;
> destructor Destroy; override;
> procedure SetLabel(Avalue : String); {라벨의 캡션을 변경하기위함}
> published
> { Published declarations }
> end;
>
> ...........
> .............
>
> procedure SetLabel(Avalue : String);
> begin
> FLabel.Caption := Avalue;
> end;
>
> 이런식으로 작성하고 외부에서 .
> Dandaiho.SetLabel('안녕');
> 이렇게 하면 외부에서 엑세스가 가능하다고 해서....
> 이렇게 했는데....
>
> FLabel.Caption := Avalue;
> 여기에는 Undeclared Identifier: 'FLabel'이라는 에러가...
>
> procedure SetLabel(Avalue : String); {라벨의 캡션을 변경하기위함}
> 여기에는 Unsatisfied foward or external declaration:'TDandaiho.SetLabel'
>
> 이런 에러가나는데.....정말 난감하네여....T.T
> 될거 같은데....안되는거시....움.....
> 도와주세요...
>
>