테스트 해봤는데.. 그냥 넣어주면 되네요..
감사합니다.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
type
Taaa = class(Tobject)
vLavel: TLabel;
private
{ Private declarations }
public
{ Public declarations }
procedure gogogo ;
end;
var
Form1: TForm1;
VA : Taaa ;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
VA.gogogo;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
VA.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
VA := Taaa.Create;
VA.vLavel := Label1;
end;
procedure Taaa.gogogo ;
begin
vLavel.Caption := '하하하' ;
end;
end.
개발중과장 님이 쓰신 글 :
: 안녕하세요?
: 초보자가 책도 읽지 못하고 바로 개발에 들어가야 하는 상황인지라
: 모르는게 많고 궁금한것도 많습니다.
:
: 객체지향을 어렴풋이 만 알고 있어서
: 궁금한게 있습니다.
:
: type
: TMainForm = class(TForm)
: Label1: TLabel;
: ....
: end
:
: 과같이 폼에 라벨이 하나 있습니다.
:
: 같은 pas 파일에
:
: type
: TMakeClass = class( TObject )
: makeLabel : ???????
: end
:
: 라고 객체를 하나 만들었다고 치면
: 이 TMakeClass 에서 위 메인폼의 라벨을
: 같이 공유하려고합니다.
:
: 그러니깐..
:
: MakeClass.makeLabel 이 MainForm의 Label1 과 같아지는 것을 원하고 있습니다.
:
: MakeClass.makeLabel.caption ='foo' 라고 넣거나 이 MainForm.Label.caption ='foo' 라고
: 넣어도 같은 결과가 되는 것입니다.
: 간단하게 해결될 수 있을것 같은데.. 음...
:
: 문제1
: MakeClass에 makeLabel을 어떻게 선언해야 할까요?
:
:
: 문제2
: 그리고 연결은
: MakeClass의 create 에
: Label1 := MainForm.label1 이렇게 넣어 주면 되는 것일까요?
:
: 답변에 미리 감사드립니다.
:
:
:
|