¹ØÓÚ Delphi TThread
TThreadÊÇÒ»¸ö³éÏóÀà,ÓÃÓÚÔÚdelphiÖд´½¨Ï̡߳£
´´½¨Ò»¸öTThreadµÄ×ÓÀà¶ÔÏó¼´Ï൱ÓÚ´´½¨Ò»¸öÏ̡߳£¡¡¡¡
µ±Ò»¸öÓ¦ÓóÌÐòÔËÐÐʱ£¬Ó¦ÓóÌÐò¾Í±»ÔØÈëÄÚ´æ×¼±¸Ö´ÐС£´Ëʱ£¬Ëü³ÉΪ°üº¬Ò»¸ö»ò¶à¸öÏ̵߳Ľø³Ì¡£Ïß³ÌÖ´ÐÐÓ¦ÓóÌÐòµÄ²¿·ÖÄÚÈÝ£¬²¢ÓɲÙ×÷ϵͳ·ÖÅäCPUʱ¼ä¡£Í¬Ò»½ø³ÌµÄËùÓÐÏ̹߳²ÏíͬһµØÖ·¿Õ¼ä£¬¿ÉÒÔ·ÃÎʽø³ÌµÄÈ«¾Ö±äÁ¿¡£
Ïß³Ìͨ¹ýÒÔϹ¤×÷¸ÄÉÆÓ¦ÓõÄÐÔÄÜ£º
¹ÜÀí¶àͨÐÅÉ豸µÄÊäÈë¡£
¡¡¡¡ Çø·ÖÈÎÎñµÄÓÅÏȼ¶¡£ÓÅÏȼ¶¸ßµÄ´¦Àí½ô¼±µÄÈÎÎñ¡£ÓÅÏȼ¶µÍµÄ´¦ÀíÆäËûÈÎÎñ¡£
ÒÔÏÂÊÇʹÓÃÏ̵߳ÄһЩ½¨Ò飺
¡¡¡¡ ͬʱ¸ú×ÙÌ«¶àµÄÏß³ÌÏûºÄCPUʱ¼ä¡£¶Ôµ¥´¦ÀíÆ÷ϵͳ£¬Ò»¸ö½ø³Ì×î¶àÓÐ16¸öÏ̡߳£
¡¡¡¡ µ±¶à¸öÏ̸߳üÐÂÏàͬµÄ×ÊԴʱ£¬Ó¦Ê¹Ïß³Ìͬ²½ÒÔ±ÜÃâ³åÍ»¡£
¡¡¡¡ ´ó¶àÊý·ÃÎÊVCL¶ÔÏóºÍ¸üд°ÌåµÄ·½·¨±ØÐë´ÓÖ÷Ïß³ÌÄÚ²¿µ÷Óá£
¡¡¡¡ ÒÔÏÂΪ´´½¨ºÍʹÓÃÒ»¸öÐÂÏ̵߳Ĺý³Ì£º
¡¡¡¡ £¨1£©µ¥»÷File|New|Thread²Ëµ¥Ï´´½¨Ò»¸öTThreadµÄ×ÓÀà¡£
¡¡¡¡ £¨2£©¶¨ÒåCreate·½·¨¡£
¡¡¡¡ £¨3£©Í¨¹ý²åÈëÏß³ÌÖ´ÐÐʱÐèÒªµÄ´úÂ붨ÒåExecute·½·¨¡£
¡¡¡¡ £¨4£©½«Ê¹ÓÃVCL×é¼þµÄÈκε÷Óô«µÝ¸øSynchronize·½·¨£¬ÒÔ±ÜÃâ¶àÏ̳߳åÍ»¡£
ÊôÐÔÁбí
FreeOnTerminate Ïß³ÌÖÕֹʱ¸Ã¶ÔÏóÊÇ·ñ×Ô¶¯É¾³ý
Handle Ï߳̾ä±ú
Priority È·¶¨¸ÃÏß³ÌÏà¶ÔÓÚ½ø³ÌÖÐÆäËûÏ̵߳ÄÓÅÏȼ¶
ReturnValue ·µ»ØÏß³ÌÖµ
Suspended ָʾһÏß³ÌÊÇ·ñ±»¹ÒÆð
Terminated ±íÃ÷Ï̱߳»ÒªÇóÖÕÖ¹
ThreadID Identifies the thread throughout the system.
·½·¨Áбí
~TThread ɾ³ýÏ̶߳ÔÏó²¢ÊÍ·ÅÆäÕ½ÓõÄÄÚ´æ¿Õ¼ä
DoTerminate ²úÉúÒ»¸öOnTerminateʼþ
Execute Ìṩ°üº¬Ïß³ÌÖ´ÐÐʱËùÐè´úÂëµÄ³éÏó·½·¨
Resume ÖØÐÂÖ´ÐÐÒ»¸ö¹ÒÆðµÄÏß³Ì
Suspend ¹ÒÆðÒ»¸öÔËÐÐÖеÄÏß³Ì
Synchronize ÔÚÖ÷VCLÏß³ÌÖÐÖ´ÐÐMethod
Terminate ½«TernimatedÊôÐÔÉèÖÃΪTrue֪ͨÏß³ÌÖÕÖ¹
TThread ´´½¨Ò»¸öÏ̶߳ÔÏóµÄʵÀý
WaitFor µÈ´ýÏß³ÌÖÕÖ¹²¢·µ»ØReturnValueÊôÐÔÖµ
ʼþÁбí
OnTerminate Execute ·½·¨ÒÑ·µ»ØÇÒ¸ÃÏ̱߳»É¾³ýǰ·¢Éú
ÊôÐÔ
TThread::FreeOnTerminate
__property bool FreeOnTerminate = {read=FFreeOnTerminate,write=FFreeOnTerminate,nodefault};
È·¶¨µ±Ïß³ÌÖÕֹʱ£¬¸ÃÏ̶߳ÔÏóÊÇ·ñ×Ô¶¯É¾³ý¡£
FreeOnTerminateĬÈÏֵΪFalse£¬Ï̶߳ÔÏó±ØÐëÔÚ´úÂëÖÐÏÔʾɾ³ý¡£
TThread::Handle°üº¬Ï߳̾ä±ú¡£µ±µ÷ÓÃWin32APIº¯Êý´¦ÀíÏß³Ìʱ£¬Ê¹ÓÃHandle.
Thread::Priority
_
Ïà¹ØÎĵµ£º
ÏûÏ¢µÄ´¦ÀíÁ÷³Ì£¬Á÷³ÌÈçÏ£º
ÆäÅÉ·¢´¦Àí¹ý³ÌÏêϸÈçÏ£º
×¢Ò⣺TWinControlÀïÃæWndProcÓе÷ÓÃϵͳAPI DefWindowProc,¸Ãº¯Êýµ÷ÓÃȱʡµÄ´°¿Ú¹ý³ÌÀ´ÎªÓ¦ÓóÌÐòûÓд¦ÀíµÄÈκδ°¿ÚÏûÏ¢ÌṩȱʡµÄ´¦Àí¡£¶øTWinControlÀïÃæDefaultHandlerÓÖµ÷ÓÃÁËϵͳAPI CallWindowProc£¬¸Ãº¯ÊýCallWindowProc½«ÏûÏ¢ÐÅÏ¢´«Ë͸øÖ¸¶¨µÄ´°¿ ......
ÔÚ±àÒëdelphi³ÌÐòʱ»á³öÏÖÔÚЩÌáʾ£¬È«ÊÇEÎĵģ¬ÏÖÔÚ¸ø´ó¼ÒÒ»¸ö¶ÔÕÕ±í£¬¿ÉÒÔ¸üºÃµÄÀí½â´íÎóÌáʾÐÅÏ¢£¡
';' not allowed before 'ELSE' ElSEǰ²»ÔÊÐíÓГ;”
'' clause not allowed in OLE automation section ÔÚOLE×Ô¶¯Çø¶Î²»ÔÊÐí“”×Ó¾ä
'' is not a type identifier ²»ÊÇÀàÐͱêʶ·û
'' not prev ......
ʵ¼ÊÉÏÕâ¸öÃû×Ö½Ð[SDL & Delphi]Ò²²»³ÉÎÊÌ⣬ ÒòΪ³ýÁËDelphiËÆºõҲûÓÐÄĸöÁ÷ÐеĿª·¢¹¤¾ßÓõÄÊÇPascalÓïÑÔ¡£
SDLÆäʵÎÒҲֻѧÁ˲»µ½Á½ÐÇÆÚ¶øÒÑ¡£¸Õ¿ªÊ¼ÎÒÏëÊÔͼÓÃVC£¬ÒòΪÕâÑù×ÊÁÏ×îÈ«£¬Ò²ºÜºÃÕÒ£¬µ«Ì«¾ÃûÓÃVCÏÖÔÚ¿´CµÄ´úÂëÓеãÀ§ÄÑ£¨->Õâ¸öËã·ûÊǸÉÂðµÄÀ´×Å……£©¡£Æäʵ×÷Ϊһ¸öרҵ²»ÊǼÆËã»úµÄÈË ......
Ò»¸öÑ¡µ¥´óÖÂÊÇÕâÑù£º
1.¿ÉÒÔ±»ÒÔijÖÖÐÎʽºô½Ð³öÀ´£¬Èç°´ÏÂesc£»
2.ÔÚÕâ¸öÑ¡µ¥Öй¦ÄܼüÓв»Í¬µÄ¶¨Ò壬ÈçÔ±¾·½Ïò¼ü¿ØÖÆ×ß·£¬µ«ÏÖÔÚ¸ÄΪ¿ØÖƹâ±êµÄλÖã»
3.°´ÏÂÈ·¶¨¼üºóÓжÔÓ¦¹¦Äܱ»Ö´ÐУ»
4.¿ÉÒÔ±»¹Ø±Õ¡£
ÄÇôÎҵİ취ÊDZàдÁ½¸ö×ӳ̣¬ÆäÖÐÒ»¸ö´¦ÀíÑ¡µ¥ÖеÄʼþ£¬ÁíÍâÒ»¸öרߺÔð»Ñ¡µ¥¡£
ÔÚ´Ó²½ÐÐÇл»µ½Ñ¡µ¥ ......
¼¼Êõ½»Á÷,DH½²½â. ¼ÇµÃºÜÔç֮ǰÎÒ¾Í˵¹ý,Êý×éºÍ½á¹¹ÌåÔÚÄÚ´æÖÐÆäʵһÑùµÄ,ËûÃǶ¼ÊÇÁ¬Ðø·Ö²¼µÄ.
ÀýÈç: TMyStruct = record
A,B,C:Integer;
end;
T3IntArray = array[0..2]of Integer;
ÕâÁ½¸ö¶¼Õ¼12×Ö½Ú,¶øÇÒTMyStruct.A¾ÍÊÇT3IntArray[0].
¶øÎÒÃÇÖªµÀÔÚ·ÃÎÊÊý×éÖÐij¸öÔªËØµÄʱºò,Ö»ÊÇÔÚµ ......