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;
// µ±Ç°´¦ÀíµÄÊý¾Ý¶ÔÏñ¡£
&
Ïà¹ØÎĵµ£º
Ïà¶ÔÓõÚÈý·½¿Ø¼þ£¬CDO·¢ËÍÓʼþ»¹ÊǺܼò½à·½±ãµÄ
×¢£ºCDONTSΪCDOµÄ×Ó¼¯£¬½öÖ§³ÖWinNT/Win2K£¬WinXPÒÔÉÏÇëÓÃCDO;
µ¥ÔªÒýÓÃComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
VCDOMessage:oleVariant;
begin
vCDOMessage:=CreateOleObject('CDO.Message');
vcdomessage.from:='MR.F'+'< ......
C# Delphi´¦Àí·ÖÎöQQÐÒé
¡¡´ó¼Ò˵µ½QQÐÒé¶¼¾õµÃºÜÉñÃØ£¬ÊÇÒòΪQQ²»ÏñMSN»òÕßICQÐÒé¶¼ÒѾ¹Ù·½¹«²¼ÁË£¬¶øQQµÄûÓй«²¼¡£Ñо¿ËüµÄÈËÒ²²»ÊÇÌØ±ðµÄ¶à£¬ËäÈ»ÒѾÓÐÁË»ùÓÚ QQÐÒéËùд³ÉµÄµÚÈý·½Èí¼þ foicq, qq plugins for gaim, LumaQQ£¬µ«ÊÇÓÉÓÚËûÃÇÊÇ»ùÓÚ¶þ½øÖÆStreamµÄÐÒé¹ýÓÚ¸´ÔÓ£¬´ó¼ÒÔĶÁ´úÂëÒ²ÓÐÒ ......
×ªÔØ×Ô£ºhttp://www.cnblogs.com/jdmei520/archive/2009/06/17/1505053.html
Webservice¼¼ÊõµÄ³öÏÖ½«¸÷ÖÖ¿ª·¢¼¼ÊõºÍÓïÑÔÍêÈ«µÄÈÚºÏÁË£¬ÏÂÃæ¾ÍÕâÖÖÈÚºÏÔÚC#ºÍdelphiÖ®¼äµÄ½»»¥×öÒ»´ÎÈ«ÃæµÄÌåÏÖ
1.ʹÓÃC#´´½¨Ò»¸öWebservice·þÎñ¡£
ʹÓÃvs2005µÄÄ£°å´´½¨C#µÄwebservice·Ç³£ÈÝÒס£ÔÎļþÈçÏÂ:
[WebService(Namespace  ......
http://book.77169.com/data/web5302/20050228/20050228__3692503.html
ActiveX ºÍ Web
ÔÚWindows ²Ù×÷ϵͳÏ£¬ÓÐÒ»¸öÖØÒªµÄ»úÖÆ£¬¾ÍÊÇOLE £¬¾ÍÊÇ¿ÉÒÔÈÃij
¸öÓ¦ÓóÌÐò£¨OLE Controller£©·ÃÎÊÆäËüÓ¦ÓóÌÐò£¨OLE Server£©ËùÌṩµÄ
¹¦ÄÜ£¬ÕâÑù×öµÄºÃ´¦ÊÇ£¬Èç¹ûÒѾÓÐÁËÍê³ÉijÏÄܵijÌÐò£¬Äã¾Í²»±ØÔÙΪ
ijÏÄܱàÐ´ÌØ¶¨ ......
function ExpCalc(exp: string): string;
var
vScript: Variant;
begin
vScript := CreateOleObject('ScriptControl');
vScript.Language := 'VBScript';
Result := vScript.Eval(exp);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=ExpCalc('100 *4.17/0.5*(55. ......