´ñ±Û : 9 °³
Çѱ¹ µ¨ÆÄÀÌ µ¿È£È¸ µ¨¸¶´ç
º£¸£»çüÀ¯
(±è¹Ì°æ)
 
ÁöÁ¤ ´äº¯ÀÚµµ ¾Æ´Ï°í ÀÌ°Ç Á» @#$@#$@#$.....
´ëÅë·É¾ÈÅ× ³ª¶ó¿ÖÀÌ·´´Ï±î? ¶û ºñ½Á(?) Çغ¸À̴±º¿ä... 
2019-12-26 ¿ÀÀü 10:23:24
𸮺ê¶ó¿î
(±Ç±¤ÀÏ)
 

¹Ì°æ´ÔÀÌ ÁøÁ¤ÇÑ °³¹ßÀÚ ½Ã¶ó¸é ±ÛÁ¦¸ñ¿¡ ¿¬¿¬ÇØ ÇϽǰԠ¾Æ´Ï¶ó ÀÌ°Ô ¿Ö ±×·±Áö¿¡ ´ëÇØ ³»¿ë¿¡ Á» ´õ °ü½ÉÀ» °¡Áö¼Å¾ßÁÒ. ±×¸®°í Á¦°¡ Áú¹®µå¸° ÀÌ ³»¿ëÀº ¿©·¯ºÐ ´ëºÎºÐÀÌ °³¹ß°úÁ¤¿¡ À̹̠´çÇÏ°í Àְųª ´ç¸éÇÒ ¾ÆÁÖ Áß¿äÇÑ ¹®Á¦À̱⿡, ±×¸®°í ´ëºÎºÐÀÇ °³¹ßÀÚµéÀÌ ÀÎÁöÇÏÁö ¸øÇÏ°í Àִ ³»¿ëÀ̶ó »ç·ÁµÇ¾î Àú º¸´Ù °æ·û ¸¹À¸½Å µÎºÐ °í¼ö´ÔµéÀÇ ´äº¯À» ²À Ã»ÇØ µè°í ½Í¾î ±×·± °ÍÀÌ´Ï Á¦¸ñÀÌ ´Ù¼Ò ÀǾÆÇϽôõ¶óµµ ¾çÇعٶø´Ï´Ù. 
2019-12-26 ¿ÀÈÄ 1:00:56
»ïÁ·¿À
(½Åµ¿¿ì)
 
¹Ø¿¡... ´Ù¸¥ºÐÀÌ ´äº¯À» À̹̠´Ù¼Ì³×¿ä.
Windows VCL Æû ÇÁ·Î±×·¡¹ÖÀº ³»ºÎ°¡ ½Ì±Û¾²·¹µå Çü½ÄÀ¸·Î µ¹¾Æ¼­ Àú·± Çö»óÀÌ ÀϾ´Ï´Ù.
±×·ÁÁִ ·çƾÀÌ ÇϳªÀÇ ¾²·¹µå·Î µ¹ÁÒ. ±×·¡¼­ ¿ÜºÎ ¾²·¹µå¿¡¼­ ¸¶±¸ UI¸¦ °ÇµéÀ̸é Å«Àϳ­´Ù´Â
¸»¾¸µéÀ» ¸¹ÀÌ ÇϽô°ű¸¿ä.

Àú ·çƾ ³»ºÎ¿¡¼­ Enabled := False´Â ½ÇÁ¦·Î´Â À̺¥Æ®°¡ ¿Ï·á µÉ¶§±îÁö ¿Ïº®ÇÏ°Ô Àû¿ëµÈ°Ç ¾Æ´Õ´Ï´Ù.
´ÜÁö ÄÄÆ÷³ÍÆ®ÀÇ º¯¼ö¸¸ º¯°æµÇ¾úÀ»»ÓÀÔ´Ï´Ù. ±×·¡¼­ À§¿Í °°Àº Çö»óÀÌ ³ªÅ¸³ª´Â°ÅÁÒ.

Æû ³»ºÎ À̺¥Æ®¿¡¼­ SleepÀ» Áֽô°ǠÀÚÁ¦ÇϽô°ÍÀÌ ÁÁ½À´Ï´Ù. Æû Àüü°¡ ¾ó¾î¹ö¸®´Ï±î¿ä.
±× »çÀ̠Ŭ¸¯ °°Àº UI »óÈ£ÀÛ¿ë ¸Þ½ÃÁö´Â ³»ºÎÀǠť¿¡ ÀûÀç°¡ µÇ¾î ±×´ë·Î ½ÇÇàµÇ´Â°Ì´Ï´Ù.
ÀÏÁ¤½Ã°£ ÀÌÈÄ¿¡ ´Ù½Ã Enabled := True¸¦ ÇϼžߠÇϽŴٸé,
ÀÍ¸í ¾²·¹µå¸¦ ÀÌ¿ëÇϼż­ Ã³¸®ÇϽôø°¡, Â÷¶ó¸® EventBus °°Àº°ÍÀ» »ç¿ëÇغ¸½Ã´Â °Íµµ ÁÁ½À´Ï´Ù. 
EventBus´Â ³»ºÎ¿¡ ¾²·¹µå¸¦ »ç¿ëÇϴ ¹æ½ÄÀ¸·Î Á» ´õ ÀÚÀ¯·Ó°Ô ÄÚµùÇϽñâ ÆíÇϽǠ°Ì´Ï´Ù.
ÀÚ¹Ù¿¡¼­µµ ¸¹ÀÌ »ç¿ëµÇ´Â ¹æ½ÄÀ¸·Î µ¨ÆÄÀ̴ 
DEB¶ó´Â ¿ÀǼҽº°¡ ÀÖ½À´Ï´Ù.
https://github.com/spinettaro/delphi-event-bus
Âü°íÇϽñ⠹ٶø´Ï´Ù.

 
2019-12-26 ¿ÀÈÄ 5:47:55
·ùÁ¾ÅÃ
(À¯Á¾ÅÃ)
 
´Ù¸¥ ºÐµéÀÌ ´äº¯À» Àß ÇØÁּż­ µ¡ºÙÀÏ °ÍÀº ¾ø°í¿ä.

Àú¸¦ Áö¸íÇØÁֽŠ°ÍÀº ¿µ±¤À̳ª,
Áö¸íÇؼ­ Áú¹®À» ¹Þ´Â °ÍÀº »ó´çÈ÷ ºÎ´ã½º·´½À´Ï´Ù.
°³ÀÎÀûÀ¸·Î Ä¿¹Â´ÏƼ¸¦ ¿î¿µÇÒ ¶§µµ
Áö¸í´çÇÑ Áú¹®¿¡´Â ´äº¯À» ¾È³²±â´Â ¿øÄ¢À» °¡Áö°í ÀÖ¾ú½À´Ï´Ù.

µ¨ÆÄÀÌ°¡ ±ÍÂú°í º¹ÀâÇÑ °ÍÀ» ½Å°æ ¾È¾²°íµµ 
ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö Àִ °ÍÀÌ Å« ÀåÁ¡Àε¥,
ÀÌ·± °æ¿ì¿¡´Â ±× ÀåÁ¡ ´ö¿¡ ´ç¿¬ÇÑ °ÍÀε¥µµ
Àß ¸ð¸£°í ³Ñ¾Æ°¡°Ô µÇ´Â ´ÜÁ¡ÀÌ Àִ °Í °°½À´Ï´Ù.

¾Æ·¡´Â ¸ÞÀΠ½º·¹µå¿¡¼­ º°µµÀÇ ½º·¹µå¸¦ »ý¼ºÇÏ¿© Äڵ带 ½ÇÇàÇÏ°í
°á°ú´Â ¸ÞÀνº·¹µå¿¡¼­ Ã³¸®ÇÏ°í ½ÍÀ» ¶§ »ç¿ëÇÏ·Á°í ¸¸µç À¯´ÖÀÔ´Ï´Ù.
Ȥ½Ã µµ¿òÀÌ µÉ±îÇÏ¿© ¸µÅ© ³²±é´Ï´Ù.

https://ryulib.tistory.com/446

procedure TForm1.Button1Click(Sender: TObject);
begin
    Button1.Enabled := false;

    AsyncTask(
        // ½º·¹µå¿¡¼­ ½ÇÇàµÇ´Â ÄÚµå
        procedure (AUserData:pointer) begin 
            OutputDebugString('##   Test   ##');
            sleep(5000);
        end,

        // ½º·¹µå ½ÇÇà Á¾·áµÇ¸é ¸ÞÀΠ½º·¹µå¿¡¼­ ½ÇÇàµÇ´Â ÄÚµå
        procedure (AUserData:pointer) begin 
            Button1.Enabled := true;
        end
    );
end; 
2019-12-26 ¿ÀÈÄ 7:39:12
𸮺ê¶ó¿î
(±Ç±¤ÀÏ)
 
¸ÕÀú ·ùÁ¾ÅôÔÀ» Áö¸íÇÏ¿© Áú¹®±ÛÀ» ¿Ã·Á, º»ÀÇ ¾Æ´Ï°Ô ºÎ´ã°¨À» ´À³¢°Ô Çص帰 Á¡¿¡ ´ëÇØ Á˼ÛÇϴٴ ¸»¾¸À» µå¸³´Ï´Ù. 

»ç½Ç Á¾ÅôÔÀÌ ´äº¯À» ´Ù½Ã±âÀü¿¡ Á¦¸ñ±ÛÀ» ¼öÁ¤ÇØ º¸·Á ÇÏ¿´À¸³ª µ¨¸¶´ç °Ô½ÃÆÇÀǠƯ¼º»ó µ¡±Û/´ä±ÛÀÌ ´Þ¸° ±Û¿¡ ´ëÇؼ­´Â ¼öÁ¤ÀÌ ºÒ°¡ÇØ ±×·±Áö ¸øÇÑ Á¡À» ¾çÇعٶø´Ï´Ù. 

±×·± ¿ÍÁß¿¡µµ ´äº¯ ´Þ¾ÆÁּż­ °¨»çµå¸³´Ï´Ù. 
2019-12-27 ¿ÀÀü 9:41:07
𸮺ê¶ó¿î
(±Ç±¤ÀÏ)
 
º»·ÐÀ¸·Î µé¾î°¡ 

Á¦ Áú¹®¿¡ ´äº¯ÁֽŠµ¿¿ì´Ô°ú Á¾ÅôÔÀÇ °øÅë ¼Ö·ç¼ÇÀ» ½ºÅ͵ð ÇØ º» °á°ú ¹öÅÏÀÇ Áߺ¹½ÇÇàÀ» ¸·±âÀ§ÇÑ ¼Ö·ç¼ÇÁß¿¡ ÇÑ ¹æ¹ýÀ¸·Î
¹öÆ° ºñÈ°¼ºÈ­´Â ¸ÞÀΠ¾²·¹µå¿¡¼­ ÇÏ°í ¹öÆ° ÀçÈ°¼ºÈ­´Â À̺¥Æ®ÀÇ ¿µÇâÀ» ¹ÞÁö¾Ê´Â ¼­ºê¾²·¹µå¿¡¼­ ÇØÁÖ¸é ÀÌ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö Àִٴ °Å±º¿ä. 

ÇÏÁö¸¸ À̺κп¡¼­ °­ÇÏ°Ô Àǹ®ÀÌ µå´Â ºÎºÐÀÌ ÀÖ¾î Ãß°¡ Áú¹®À» µå·Á º¾´Ï´Ù.

¼­ºê ¾²·¹µå°¡ ÀÛµ¿Çϴ µ¿¾È ¹öÆ°¿¡¼­ ¹ß»ýÇÑ ¿©·¯¹øÀǠŬ¸¯ À̺¥Æ®µéÀÌ ¿©ÀüÈ÷ ¸Þ¼¼Áö Å¥¿¡´Â ½×¿© ÀÖÀ» ÅÙµ¥

¼­ºê ¾²·¹µå°¡ ¹öÆ°À» ´Ù½Ã ÀçÈ°¼ºÈ­ ½ÃŲ ÀÌ ÈÄ¿¡ ¿Ö ÀÌ À̺¥Æ®µéÀÌ ¹Ð·Á µé¾î¿ÀÁö ¾Ê°í ¼Ò¸ê(?)µÇ´Â °ÇÁö¿ä?

ÀÌ ºÎºÐ¿¡ ´ëÇÑ À©µµ¿ìÀÇ ÀÛµ¿¿ø¸®¸¦ ¸íÈ®ÇÏ°Ô ¾Ë°í ½ÍÀºµ¥ È¤½Ã ±¦ÂúÀ¸½Ã´Ù¸é Çѹø ´õ ´äº¯À» Ã»Çغ¾´Ï´Ù. 
2019-12-27 ¿ÀÀü 10:05:18
»ïÁ·¿À
(½Åµ¿¿ì)
 
¾ÆÁ÷ Á¤È®È÷ ÀÌÇØÇÏÁö ¸øÇϽŰ͠°°³×¿ä.

½Ì±Û¾²·¹µå¶ó°í ÀÌÇØÇϽô°ԠÀÌÇØÇϽñâ ÆíÇÒ°Ì´Ï´Ù.
Button1Click À̺¥Æ®¿¡ ¾²·¹µå¿¡¼­ ±× ÇÔ¼ö¸¦ ½ÇÇàÇϸç Enabled := False¸¦ ½ÇÇàÇÏÁÒ.
±× ÀÌÈÄ¿¡ SleepÀ» Çϸé UI¿¡¼­´Â Enabled°¡ º¯¼ö¸¸ Á¤¸®µÇ°í ½ÇÁ¦ Ã³¸®µÇÁö ¾ÊÀº »óȲÀΰ̴ϴÙ.
±×¶§ Å¬¸¯À» Çϸ頴翬È÷ ¹öÆ° Å¬¸¯ ¸Þ½ÃÁö°¡ ¸Þ½ÃÁöÅ¥¿¡ Å¥À׵Ǵ°ű¸¿ä.
Enabled := False ÀÌÈÄ ¼­ºê ¾²·¹µå¸¦ µÎ´Â°Ç ¸ÞÀξ²·¹µå (UI ¾²·¹µå)¸¦ °è¼Ó µ¹¸®±â À§ÇÑ°Ì´Ï´Ù.
Áï Enabled := False ÀÌÈÄ ¼­ºê ¾²·¹µå¸¦ µÎ°í ±× ¾È¿¡¼­ SleepÀ» Çϸ頸ÞÀΠ¾²·¹µå´Â °è¼Ó Ã³¸®µÇ¾î¼­
Button1Click À̺¥Æ®°¡ ³¡³­ÈÄ ¸ÞÀο¡¼­ Enabled := False¿¡ ´ëÇѠ󸮰¡ ¿Ï·áµÇ¾î¼­
´õÀÌ»ó Button1¿¡¼­ Å¬¸¯ ¸Þ½ÃÁö¸¦ ¹ß»ýÇÏÁö ¾Ê´Â°Ì´Ï´Ù.
Á¤È®È÷ ¸»ÇÏÀÚ¸é Enabled := False´Â ¸Þ½ÃÁö°¡ µé¾î¿Íµµ Å¥À×À» ¾ÈÇѴٴ°Ԡ¾Æ´Ï°í
¸Þ½ÃÁö ÀÚü¸¦ »ý¼º ¾ÈÇÏ°Ô Çϴ°̴ϴÙ. ±×·¯´Ï ¸Þ½ÃÁö°¡ ¼Ò¸êÀ̶ó´Â ¸»ÀÌ Àû¿ëÀÌ ¾ÈµÇ´Â°Ì´Ï´Ù.

VCLÀÇ ¸Þ½ÃÁö Ã³¸®¿Í ¼­ºêŬ·¡½Ì¿¡ ´ëÇؼ­ Á» ´õ °øºÎÇϽøé ÀÌÇØÇϽǰŶó ¹Ï½À´Ï´Ù.
 
2019-12-27 ¿ÀÀü 11:25:44
·ùÁ¾ÅÃ
(À¯Á¾ÅÃ)
 
À̹ÌÁö°¡ ÇÊ¿äÇؼ­ ´ä±Û·Î ´äº¯ ´Þ¾Ò½À´Ï´Ù. 
2019-12-27 ¿ÀÀü 11:31:43
𸮺ê¶ó¿î
(±Ç±¤ÀÏ)
 
½Åµ¿¿ì´Ô Ä£ÀýÇϽŠ´äº¯ °¨»çµå¸³´Ï´Ù.
Á» ´Ê±ä ÇßÀ¸³ª »õÇØ º¹ ¸¹ÀÌ ¹ÞÀ¸½Ã±æ ¹Ù¶ø´Ï´Ù. 
2020-01-01 ¿ÀÈÄ 9:11:55