DelphiÏß³Ì_TThread´úÂë·ÖÎö
DelphiÖеÄÏß³ÌÀà
DelphiÖÐÓÐÒ»¸öÏß³ÌÀàTThreadÊÇÓÃÀ´ÊµÏÖ¶àÏ̱߳à³ÌµÄ£¬Õâ¸ö¾ø´ó¶àÊýDelphiÊé½å¶¼ÓÐ˵µ½£¬µ«»ù±¾É϶¼ÊÇ
¶ÔTThreadÀàµÄ¼¸¸ö³ÉÔ±×÷Ò»¼òµ¥½éÉÜ£¬ÔÙ˵Ã÷Ò»ÏÂExecuteµÄʵÏÖºÍSynchronizeµÄÓ÷¨¾ÍÍêÁË¡£È»¶øÕâ²¢
²»ÊǶàÏ̱߳à³ÌµÄÈ«²¿£¬´ËÎĵÄÄ¿µÄÔÚÓÚ¶Ô´Ë×÷Ò»¸ö²¹³ä¡£
Ï̱߳¾ÖÊÉÏÊǽø³ÌÖÐÒ»¶Î²¢·¢ÔËÐеĴúÂë¡£Ò»¸ö½ø³ÌÖÁÉÙÓÐÒ»¸öỊ̈߳¬¼´ËùνµÄÖ÷Ï̡߳£Í¬Ê±»¹¿ÉÒÔÓжà¸ö×ÓÏ̡߳£
µ±Ò»¸ö½ø³ÌÖÐÓõ½³¬¹ýÒ»¸öÏß³Ìʱ£¬¾ÍÊÇËùνµÄ“¶àÏ߳̔¡£
ÄÇôÕâ¸öËùνµÄ“Ò»¶Î´úÂë”ÊÇÈçºÎ¶¨ÒåµÄÄØ£¿Æäʵ¾ÍÊÇÒ»¸öº¯Êý»ò¹ý³Ì£¨¶ÔDelphi¶øÑÔ£©¡£
Èç¹ûÓÃWindows APIÀ´´´½¨Ï̵߳ϰ£¬ÊÇͨ¹ýÒ»¸ö½Ð×öCreateThreadµÄAPIº¯ÊýÀ´ÊµÏֵģ¬ËüµÄ¶¨ÒåΪ£º
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);
Æä¸÷²ÎÊýÈçËüÃǵÄÃû³ÆËù˵£¬·Ö±ðÊÇ£ºÏß³ÌÊôÐÔ£¨ÓÃÓÚÔÚNTϽøÐÐÏ̵߳ݲȫÊôÐÔÉèÖã¬ÔÚ9XÏÂÎÞЧ£©£¬¶ÑÕ»´óС£¬
ÆðʼµØÖ·£¬²ÎÊý£¬´´½¨±êÖ¾£¨ÓÃÓÚÉèÖÃÏ̴߳´½¨Ê±µÄ״̬£©£¬Ïß³ÌID£¬×îºó·µ»ØÏß³ÌHandle¡£ÆäÖÐµÄÆðʼµØÖ·¾ÍÊÇÏß
³Ìº¯ÊýµÄÈë¿Ú£¬Ö±ÖÁÏ̺߳¯Êý½áÊø£¬Ïß³ÌÒ²¾Í½áÊøÁË¡£
ÒòΪCreateThread²ÎÊýºÜ¶à£¬¶øÇÒÊÇWindowsµÄAPI£¬ËùÒÔÔÚC Runtime LibraryÀïÌṩÁËÒ»¸öͨÓõÄÏ̺߳¯Êý£¨ÀíÂÛÉÏ
¿ÉÒÔÔÚÈκÎÖ§³ÖÏ̵߳ÄOSÖÐʹÓã©£º
unsigned long _beginthread(void (_USERENTRY *__start)(void *), unsigned __stksize, void *__arg);
DelphiÒ²ÌṩÁËÒ»¸öÏàͬ¹¦ÄܵÄÀàËÆº¯Êý£º
function BeginThread(
SecurityAttributes: Pointer;
StackSize: LongWord;
ThreadFunc: TThreadFunc;
Ïà¹ØÎĵµ£º
program PureAPIWindow;
uses
SysUtils,
Windows,
Messages;
const
WinClassName = 'DvsClass';
StrOut = 'Davis TextOut';
//´°¿Ú»Øµ÷º¯Êý
function MyWinProc(
hWindow: HWND;
aMessage: UINT;
WParam: WPARAM;
LParam: LPARAM): LRESULT; stdcall; export;
......
unit unitMain;
interface
uses
Registry, shlobj,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TExtForm = class(TForm)
ledExtension: TLabeledEdit;
ledAssocApp: TLabeledEdit;
GetAssocApp: TButton;
AssocTh ......
DelphiÖеÄÈÝÆ÷Àà
×÷Õß ³ÂÊ¡
´ÓDelphi 5¿ªÊ¼VCLÖÐÔö¼ÓÁËÒ»¸öеÄContnrsµ¥Ôª£¬µ¥ÔªÖж¨ÒåÁË£¸¸öеÄÀ࣬ȫ²¿¶¼ÊÇ»ùÓÚ±ê×¼µÄTList Àà¡£
TList Àà
TList Ààʵ¼ÊÉϾÍÊÇÒ»¸ö¿ÉÒÔ´æ´¢Ö¸ÕëµÄÈÝÆ÷À࣬ÌṩÁËһϵÁеķ½·¨ºÍÊôÐÔÀ´Ìí¼Ó£¬É¾³ý£¬ÖØÅÅ£¬¶¨Î»£¬´æÈ¡ºÍÅÅÐòÈÝÆ÷ÖеÄÀ࣬ËüÊÇ»ùÓÚÊý×éµÄ»úÖÆÀ´ÊµÏÖ ......
Delphi×Ö·û´®¡¢PCharÓë×Ö·ûÊý×éÖ®¼äµÄת»»
ÉèÓÐÒÔÏÂÈý¸ö±äÁ¿£º
var
s:string;
p:pchar;
a:array[1..20] of char;
ÄÇôÈýÕßÖ®¼äµÄת»»ÈçÏ£º
1¡¢×Ö·û´®µ½PChar
p:=PChar(s);
2¡¢PCharµ½×Ö·û´®
s:=p;
3¡¢PCharµ½×Ö·ûÊý×é
StrCopy(@a,p);
4¡¢×Ö·ûÊý×éµ ......
//**************ÐèҪǿµ÷µÄÁ½¸ö¿ì½Ý¼ü**********************
51.CTRL+SHIFT+U ´úÂëÕû¿é×óÒÆ2¸ö¿Õ¸ñλÖÃ
52.CTRL+SHIFT+I ´úÂëÕû¿éÓÒÒÆ2¸ö¿Õ¸ñλÖÃ
60.Ctrl+Alt+c ×¢ÊÍ¿é
61.Ctrl+Alt+u & ......