Delphi¶àÏß³Ìѧϰ£¨4£©£ºÁÙ½çÇø
ÁÙ½çÇøÊÇÒ»¶Î´úÂ룬һ´ÎÖ»ÔÊÐíÒ»¸öÏß³ÌÖ´ÐÐÕâ¶Î´úÂë¡£µ±°ÑÒ»¶Î´úÂë·ÅÈëÒ»¸öÁÙ½çÇø, Ïß³ÌÖ´Ðе½ÁÙ½çÇøÊ±¾Í¶ÀÕ¼ÁË, ÆäËûÏß³ÌÈç¹ûÒª·ÃÎÊÕâ¶Î´úÂ룬һ¶¨ÒªµÈǰһ¸ö·ÃÎʵÄÏ߳̽áÊø²ÅÐС£½èÓÃÇ°ÃæµÄ±ÈÓ÷±È×÷ͼÊé¹Ý£¬ÁÙ½çÇø¾ÍÏñ°ÑͼÊé¹ÝÉè¼Æ³ÉÖ»ÓÐÒ»¸öλÖã¨ÏÖʵÖкÃÏñ²»Ì«ºÏÀí£¬²»¹ÜÁË£¬·´ÕýÕâô¸öÒâ˼£©£¬µ±ÓÐÒ»¸öÈËÕýÔÚ°ìÀíÒµÎñʱ£¬ÆäËûÈËÖ»ÄܵȴýÄǸöÈ˰ìÍêÒµÎñ²ÅÄܽøÈ¥¡£
ʹÓÃÁÙ½çÇøµÄ²½Ö裺
1¡¢ÉùÃ÷Ò»¸öTRLCriticalSection¼Ç¼ÀàÐ͵ıäÁ¿ÈçCS£¬±ØÐëÊÇÈ«¾ÖµÄ£»
2¡¢Ê¹ÓÃǰÏȳõʼ»¯£ºInitializeCriticalSection(CS)£»
3¡¢EnterCriticalSection(CS); Ï߳̽øÈëÁÙ½çÇø£¬ÆäËûÏß³ÌÐèÒªµÈ´ý
4¡¢LeaveCriticalSection(CS); Ïß³ÌÀ뿪ÁÙ½çÇø£¬ÆäËûÏ߳̿ÉÒÔ·ÃÎÊÁË
5¡¢DeleteCriticalSection(CS); ×îºóɾ³ýÁÙ½çÇø
ÖØÐ´Ç°ÎĵÄÀý×Ó£¬ÈçÏ£º
{Ö÷´°Ìå´úÂë}
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
CS:TRTLCriticalSection; //È«¾ÖÁÙ½çÇø±äÁ¿
implementation
uses MyThread;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
TMyThread.Create(False);
TMyThread.Create(False);
TMyThread.Create(False);
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
InitializeCriticalSection(CS); //³õʼ»¯
end;
procedure TForm2.FormDestroy(Sender: TObject);
begin
DeleteCriticalSection(CS); //ɾ³ý
end;
end.{Ïß³ÌÀà}
unit MyThread;
interface
uses
Classes,StdCtrls,SysUtils,Windows;
type
TMyThread = class(TThread)
private
{ Private declarations }
str:String;
procedure AddList;
protected
procedure Execute
Ïà¹ØÎĵµ£º
±¾ÎÄ×îÔçÔÚ±à³ÌÂÛ̳ÉÏ·¢±í£¬ÎÄÕµØÖ·£ºhttp://programbbs.com/bbs/view12-21351-1.htm£¬Ïà¹ØÎļþ¿ÉÒÔÔÚÉÏÊöµØÖ·µÄÒ³ÃæÖÐÏÂÔØ¡£×ªÔØÊ±Çë×¢Ã÷³ö´¦¡£
Ò»¡¢Ç°ÑÔ
ͨÅä·û¾ÍÊÇÖ¸“*”ºÍ“?”Á½¸ö×Ö·û£¬“*”±íʾµ±Ç°Î»ÖÿÉÒÔûÓлòÕßÓжà¸öÈÎÒâ×Ö·û£»“?”±íʾµ±Ç°Î»ÖÃÓÐÒ»¸öÈÎÒâ×Ö·û¡£ ......
ÀýÈçÒÔÏ´úÂ룺
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;
type
TForm1 = class(TForm)
procedure one();
function two(x,y:integer):integer;
private
......
¼¼Êõ½»Á÷,DH½²½â.
Ã÷ÌìÈ¥×ø»ð³µ,»Ø¼Ò,½ñÌì¾ÍûÓÐÊÂ×ö,±¾À´ÔÚŪһ¸ö¿ç½ø³Ì»ñÈ¡ÆäËû³ÌÐòÀïÃæ×é¼þ,ÈçListView,ListBox,ButtonµÈµÄÐÅÏ¢,ͻȻÓиöÏë·¨×Ô¼ºÐ´¸öTimer,²»ÓÃSetTimerº¯Êý,ÎÒÃÇ×Ô¼ºÓøö¶àÏß³ÌÒ²ÕýºÃʵÏÖÕâ¸ö.·´Õýǰ¶Îʱ¼ä¶àÏß³ÌҲŪµÃ±È½Ï¶à,±¾À´Ïëµ¥¶À½²½²µÄ,ÏÖÔÚ¾ÍÓøöÀý×ÓÀ´ËµÃ÷°É.
д³ÉÒ»¸ö¿Ø¼þ:utTimer.pas
v ......
ÐèÒªÓõ½µÄÒ»¸öº¯Êý£º
LONG SetWindowLong(
HWND hWnd,
int nIndex,
LONG dwNewLong
);
ÆäÖÐnIndex GWL_EXSTYLE Retrieves the extended window styles.
dwNewLong WS_EX_TOOLWINDOW Creates a tool window; that is, a window intended to ......
¹ØÓÚdelphi Assigned
1.¸ù¾Ý Delphi Ö¸Áî²Î¿¼ÊÖ²áÖÐ
˵Ã÷£º
Assigned º¯Ê½ÔÚ²ÎÊý²»Îªnilʱ´«»ØTrue,±íʾָÕëÒѾָµ½Ä³¸öÄÚ´æµØÖ·£¬Õâ¸öÄÚ´æµØÖ·¿ÉÄÜÊÇÒ»¸ö¶ÔÏóµØÊ×µØÖ·£¬Ò²¿ÉÄÜÔÚº¯Êý»ò¹ý³ÌÖУ¬ÉùÃ÷Ò»¸öÖ¸Õë±äÁ¿£¬Ã»Óи³ÖµÎªnil £¬ÎÞÂÒµÄÖ¸Ïòij´¦£¬ÕâÁ½¸öÖÖÇé¿ö£¬Assigned£¨Ö¸Õë±äÁ¿£©¶¼²»Îªnil , º¯Êý·Å»ØTrue£»
¶ø² ......