Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

delphiÏ̳߳ء¾×ª¡¿


[code=Delphi(Pascal)]
unit uThreadPool;
{  aPool.AddRequest(TMyRequest.Create(RequestParam1, RequestParam2, ...)); }
interface
uses
  Windows,
  Classes;
// ÊÇ·ñ¼Ç¼ÈÕÖ¾
// {$DEFINE NOLOGS}
type
  TCriticalSection = class(TObject)
  protected
    FSection: TRTLCriticalSection;
  public
    constructor Create;
    destructor Destroy; override;
    // ½øÈëÁÙ½çÇø
    procedure Enter;
    // À뿪ÁÙ½çÇø
    procedure Leave;
    // ³¢ÊÔ½øÈë
    function TryEnter: Boolean;
  end;
type
  // ´¢´æÇëÇóÊý¾ÝµÄ»ù±¾Àà
  TWorkItem = class(TObject)
  public
    // ÊÇ·ñÓÐÖØ¸´ÈÎÎñ
    function IsTheSame(DataObj: TWorkItem): Boolean; virtual;
    // Èç¹û NOLOGS ±»¶¨Ò壬Ôò½ûÓá£
    function TextForLog: string; virtual;
  end;
type
  TThreadsPool = class;
  //Ïß³Ì״̬
  TThreadState = (tcsInitializing, tcsWaiting, tcsGetting, tcsProcessing,
    tcsProcessed, tcsTerminating, tcsCheckingDown);
  // ¹¤×÷Ï߳̽öÓÃÓÚÏ̳߳ØÄÚ£¬ ²»ÒªÖ±½Ó´´½¨²¢µ÷ÓÃËü¡£
  TProcessorThread = class(TThread)
  *******
    // ´´½¨Ïß³ÌʱÁÙʱµÄEvent¶ÔÏó, ×èÈûÏß³ÌÖ±µ½³õʼ»¯Íê³É
    hInitFinished: THandle;
    // ³õʼ»¯³ö´íÐÅÏ¢
    sInitError: string;
    // ¼Ç¼ÈÕÖ¾
    procedure WriteLog(const Str: string; Level: Integer = 0);
  protected
    // Ïß³ÌÁÙ½çÇøÍ¬²½¶ÔÏñ
    csProcessingDataObject: TCriticalSection;
    // ƽ¾ù´¦Àíʱ¼ä
    FAverageProcessing: Integer;
    // µÈ´ýÇëÇóµÄƽ¾ùʱ¼ä
    FAverageWaitingTime: Integer;
    // ±¾Ïß³ÌʵÀýµÄÔËÐÐ״̬
    FCurState: TThreadState;
    // ±¾Ïß³ÌʵÀýËù¸½ÊôµÄÏ̳߳Ø
    FPool: TThreadsPool;
    // µ±Ç°´¦ÀíµÄÊý¾Ý¶ÔÏñ¡£
  &


Ïà¹ØÎĵµ£º

delphiʵÏÖ×Ö·û´®ÖÐÊý×ÖµÄÅжϼ°ÏàÓ¦Êý×ÖÀÛ¼Ó

×î½üÃæÊÔÁËÒ»¼ÒÆóÒµ,ÏÂÃæÓÐÒ»µÀ´ÓÀ´Ã»ÓÐÏë¹ýµÄÎÊÌâ,µ±Ê±ÓÐ˼·,²»¹ýд²»³öÀ´.»ØÀ´ºó,µ÷ÊÔÁËÒ»ÏÂ,·¢ÏÖ»¹ÊÇÓÐÄѶȵÄ,дÉÏÀ´¿´´ó¼ÒÊÇ·ñ»¹ÓиüÓÅ»¯µÄд·¨,»¶Ó­ÌÖÂÛ:
ÏÂÃæÊµÏÖ½«×Ö·û´®"10ad200d3" ÖеÄÊý×ֺϼÆ,10+200+3=213
var s1:string;
var i:integer;
var n1:integer;
var tem1: string;
var tem2:integer;
  ......

DelphiÖÐÈýÖÖ·½·¨»ñÈ¡WindowsÈÎÎñÀ¸µÄ¸ß¶È

µÚÒ»ÖÖ£ºÐèÒªÒýÓÃWindowsµ¥Ôª
ShowMessage(IntToStr(GetSystemMetrics(SM_CYSCREEN)-GetSystemMetrics(SM_CYFULLSCREEN)-GetSystemMetrics(SM_CYCAPTION)));
µÚ¶þÖÖ£ºÐèÒªÒýÓÃWindowsµ¥Ôª
function GetSystemTaskBarHeight:Integer;
var
R:TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA,0,@R,0);
Resul ......

delphi ½Å±¾ÒýÇæ±È½Ï

TMS Scripter£ºÖ§³ÖPascalºÍVBScriptÁ½ÖÖÓï·¨¡£ÓŵãÊÇÎĵµÆëÈ«¡¢Àý×ÓÆëÈ«£¬½Å±¾¿ÉÖ±½ÓÖ§³ÖDLL£¬¹Ù·½»¹ÌṩÁ˷ḻµÄIDE Debug¹¤¾ß¡¢µ¥Ôªµ¼³öº¯Êý¹¤¾ßµÈ£¬È±µãÊDZàÒëÔËÐнÏÂý¡£for ¿ÕÑ­»·1000Íò´Î£¬ÐèÒª10ÃëÖÓÒÔÉÏ¡£TMS ScripterÊÇÉÌÒµ¹²ÏíÈí¼þ¡£
       FastScript£ºÓùýFastReport±¨±íµÄÍ¬Ñ ......

delphi µ÷ÓÃC# webservice

×ªÔØ×Ô£ºhttp://www.cnblogs.com/jdmei520/archive/2009/06/17/1505053.html
Webservice¼¼ÊõµÄ³öÏÖ½«¸÷ÖÖ¿ª·¢¼¼ÊõºÍÓïÑÔÍêÈ«µÄÈÚºÏÁË£¬ÏÂÃæ¾ÍÕâÖÖÈÚºÏÔÚC#ºÍdelphiÖ®¼äµÄ½»»¥×öÒ»´ÎÈ«ÃæµÄÌåÏÖ
1.ʹÓÃC#´´½¨Ò»¸öWebservice·þÎñ¡£
ʹÓÃvs2005µÄÄ£°å´´½¨C#µÄwebservice·Ç³£ÈÝÒס£Ô­ÎļþÈçÏÂ:
[WebService(Namespace  ......

Delphiº¯ÊýºÍ¹ý³Ì

     ¹ý³ÌÎÞ·µ»ØÖµ£¬º¯ÊýÓзµ»ØÖµ¡£
     procedure MyProc(m,n : Integer; o : String; p : Single = 2.5; q : String = 'Delphi');
     ÈçÉÏÀýËùʾ£¬¹ý³ÌÉùÃ÷ºÍ¶¨ÒåÖУ¬¶à¸ö²ÎÊýÊÇÓ÷ֺŸô¿ªµÄ£¬µ«ÔÚµ÷ÓÃʱÊÇÓöººÅ¸ô¿ªµÄ ¡£eg£º
  ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ