아래처럼 간단한건 되는데..
덩치 큰 오브젝트는 오류가 나네요..
원칙적인 답을 알려주시면 정말로 감사드리겠습니다.
개발중과장 님이 쓰신 글 :
: 테스트 해봤는데.. 그냥 넣어주면 되네요..
: 감사합니다.
:
: 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 이렇게 넣어 주면 되는 것일까요?
: :
: : 답변에 미리 감사드립니다.
: :
: :
: :
|