Q&A

  • 스피드버튼과 라벨(외부에서 라벨 엑세스하기)
답변 정말 감사합니다.

그런식으로 해서....제가 원하는 컴포넌트는 만들었는데....

이 컴포넌트를 외부에서 엑세스할 수 있는 방법을 찾아보니까...

아래와 같은 방법이 있더군요...

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

될거 같은데....안되는거시....움.....

도와주세요...





1  COMMENTS
  • Profile
    이채성 2000.11.16 22:10
    제 생각에는

    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

    > 될거 같은데....안되는거시....움.....

    > 도와주세요...

    >

    >