´ñ±Û : 2 °³
Çѱ¹ µ¨ÆÄÀÌ µ¿È£È¸ µ¨¸¶´ç
³ª¸£
(¹ÚÁø´ö)
 

¿Ö ¾Æ¹«µµ ´äº¯À» ¾ÈÇÏ´ÂÁö ¤Ð
Á¦°¡ ¾Æ´Â ¹üÀ§ ³»¿¡¼­ ´äº¯´Þ°Ô¿ä ¤¾¤¾

procedure(m1, m2, m3:integer) of object; 
ÀÌ·± ÇüŸ¦ ¸Þ¼ÒµåÆ÷ÀÎÅͶó°í ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ¼³¸íÀº ±¸±Û¸µ ÇϽø頵ǰí...

ÀÌ°Ô µ¨ÆÄÀÌ ³»¿¡¼­ À̺¥Æ®Çڵ鷯 ¶ó°í Çؼ­ ¾ÆÁÖ ¸¹ÀÌ ¾²ÀÔ´Ï´Ù.
±×¸®°í °´Ã¼°£ÀÇ Loose coupling ¿¡¼­µµ ¾ÆÁÖ ¸¹ÀÌ ¾²ÀÔ´Ï´Ù.
(³ªÁß¿¡ ¸¹ÀÌ ¾²½Ã°Ô µÉ°Ì´Ï´Ù.)

¿¹¸¦ µé¾î º¸°Ú½À´Ï´Ù.
ºóÇÁ·ÎÁ§Æ® Çϳª ¸¸µå½Ã°í ¹öÆ° Çϳª ¿Ã¸®°í ¹öÆ°ÀǠŬ¸¯ À̺¥Æ® ¸¦ »ý¼ºÇÕ´Ï´Ù. ¾Æ·¡¿Í °°ÀÌ...

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

±×·± ´ÙÀ½ Æû¿¡¼­ ¿ìŬ¸¯ÇϽðí "View as Text" ¼±ÅÃÇϽø頾Ʒ¡¿Í °°ÀÌ º¸ÀÏ°Ì´Ï´Ù.
  object Button1: TButton
    Left = 352
    Top = 168
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end

¿©±â º¸½Ã¸é OnClick = Button1Click ¶ó°í Çϴµ¥..
Áï OnClick À̶ó´Â ÇÁ·ÎÆÛƼ¿¡ Button1Click À̶ó´Â ¸Þ¼Òµå¸¦ ÇÒ´çÇÑ°Ì´Ï´Ù. 

¶ÇÇÑ TButton ÀÇ »ó¼Ó ±¸Á¶°¡ TButton -> TWinControl -> TControl
ÀÌ·¸°Ô µÇ¾î Àִµ¥¿ä.

TControl Å¬·¡½º¸¦ º¸½Ã¸é 

TControl = class(TComponent)
private 
  ....
  FOnClick: TNotifyEvent;
  ....
protected
  property OnClick: TNotifyEvent read FOnClick write FOnClick 
    stored IsOnClickStored;
....

¿©±â¼­ º¸¼Å¼­ ¾Ë ¼ö ÀÖµíÀÌ ´ÔÀÌ Æû¿¡ ¹öÆ°À» ¿Ã·ÁµÎ°í Å¬¸¯ À̺¥Æ®¸¦ Çϳª ¸¸µé¸é ³»ºÎÀûÀ¸·Î FOnClick À̶ó´Â ¸Þ¼Òµå Æ÷ÀÎÅÍ º¯¼ö¿¡ ´ÔÀÌ ¸¸µç À̺¥Æ® Á¤º¸¸¦ ÀúÀåµÇ°Ô µË´Ï´Ù.
(Âü°í·Î TNotifyEvent = procedure(Sender: TObject) of object;) 

ÀÌ°Ô ¾î¶»°Ô ÀÛµ¿Çϴ°¡ Çϸé Button1 À̠Ŭ¸¯ÀÌ µÇ¸é
if Assigned(FOnClick) 
ÀÌ°ÍÀ» ÅëÇØ ´ÔÀÌ Button1Click À» ¼±¾ðÇßÀ¸¸é ´ÔÀÌ ¼±¾ðµÈ Button1Click À̠ȣÃâµÇ´Â °ÍÀÌ°í ¼±¾ðÀÌ ¾øÀ¸¸é ±×³É ¹«½Ã µÇ¾î Áý´Ï´Ù.

±Û·Î ¼³¸íÇÏ·Á´Ï±î Èûµå³×¿ä ¤Ð

Áú¹®Çϴ°Šº¸´Ï±î ½ÃÀÛÇÑÁö ¾ó¸¶ ¾ÈµÇ½Å°Å °°À¸½Åµ¥..

Á¶±Ý¸¸ ÇϽôٺ¸¸é ¸Þ¼ÒµåÆ÷ÀÎÅ͸¦ Á¤¸» ¸¹ÀÌ ¾²½Ã°Ô µÉ°Ì´Ï´Ù.
°´Ã¼°£ÀÇ °áÇÕµµÀÇ ³·Ãߴµ¥ Á¤¸» ¸¹À̸¹ÀÌ ¾²ÀÔ´Ï´Ù. ¤Ð
¼ö°íÇϼ¼¿ä.
 
2017-04-26 ¿ÀÈÄ 2:34:47
ÄÚµùÇϴ²¿ºÎ±â
(À̱ÔÇÊ)
 
´äº¯°¨»çÇÕ´Ï´Ù! 
2017-05-08 ¿ÀÀü 11:46:17