delphi Èý²ã¿ª·¢¾Ñé»ã×Ü
delphiºÜÔç¾ÍÒѾ¿ÉÒÔ½øÐÐÈý²ãµÄ¿ª·¢ÁË. µ«Ò»Ö±µ½ÏÖÔÚ, ÍøÉÏÕâ·½ÃæµÄ¶«Î÷Ì«ÉÙ ÁË. Ҫô̫ÀÏ, ÉõÖÁ²»ÍêÈ«ÕýÈ·. ÀýÈç:
ÈçºÎ½øÐжà±í¸üÐÂ(Ìá½»), ºÜ¶à»Ø¸´»¹ÊÇ˵ÓÃADOConnectionµÄÊÂÎñ, (Èç¹ûҪͬʱ¸üÐÂSQL SERVERºÍOracleÊý¾Ý¿âµÄ±íÔõô°ì).
µ±È»Ò²ÓÐ˵ÓÃSetComplete, SetAbortµÄ. µ«ËµµÄºÜ¼òµ¥, ÆäÖеÄ×¢ÒâÊÂÏîÓÖÊÇÊ²Ã´ÄØ. »¹ÓеÄÍÆ¼ö¿´ÀîάµÄÄDZ¾·Ö²¼Ê½¿ª·¢µÄÊé. ÄDZ¾ÊéÖÐÊÇдÁ˺ܶàÖµµÃѧϰºÍÁ˽âµÄ¶«Î÷. µ«ÓÐЩ¶«Î÷ÒѾ¹ýʱÁË»òÕß˵µÄ²»Ïêϸ, ÀýÈçwin2000ÖÐÒѾÓÐCOM+ÁË. COM+ÒѾÕûºÏÁËmts¼°ÆäËüһЩ¶«Î÷ÁË. Áí¸ö, Ò²ÓÐЩÌù×ÓÉÏÓÐÈË˵, Ó¦Ó÷þÎñÆ÷ÉÏÖ»ÓÃÒ»¸öTDataSetPrivoderºÍÒ»¸ö TDataSet(ADO, Query, DBXQueryÖ®Ò»)¾Í¿ÉÒÔÁË. µ«¾ßÌåÔõôÓÃÄØ?ÓÖ¿´²»µ½ÏÂÎÄ.
ÁíÍâ, »¹ÓÐһЩÅóÓÑÔÚÓõÚÈý·½µÄһЩ¿Ø¼þ. ÎÒ¿´ÁËÒ»ÏÂ, ´ó¶à¾ÍÏñ¸öǶÈëµ½IEÖеÄActiveX, ¸Ð¾õҲûÓÐʲôÒâ˼---Ö±½ÓŪ¸öActiveXµ½IEÖоͲ»ÐÐÁË.
1. ÈçºÎÖ»ÓÃÒ»¸öTDataSetPrivoderºÍÒ»¸öTADOQuery.
delphiµÄTRemoteDataModule¼¯³ÉÁËIAppServer½Ó¿Ú.²¢ÇÒʵÏÖÁËIAppServer½Ó¿ÚµÄ·½·¨:
view plaincopy to clipboardprint?
{ IAppServer }
function AS_GetProviderNames: OleVariant; safecall;
function AS_ApplyUpdates(const ProviderName: WideString; Delta: OleVariant;
MaxErrors: Integer; out ErrorCount: Integer;
var OwnerData: OleVariant): OleVariant; safecall;
function AS_GetRecords(const ProviderName: WideString; Count: Integer;
out RecsOut: Integer; Options: Integer; const CommandText: WideString;
var Params, OwnerData: OleVariant): OleVariant; safecall;
function AS_DataRequest(const ProviderName: WideString;
Data: OleVariant): OleVariant; safecall;
function AS_GetParams(const ProviderName: WideString; var OwnerData: OleVariant): OleVariant; safecall;
function AS_RowRequest(const ProviderName: WideString; Row: OleVariant;
RequestType: Integer; var OwnerData: OleVariant): OleVariant; safecall;
&
Ïà¹ØÎĵµ£º
VCÉùÃ÷
HANDLE CreateMutex(
¡¡¡¡LPSECURITY_ATTRIBUTES lpMutexAttributes, // SD
¡¡¡¡BOOL bInitialOwner, // initial owner
¡¡¡¡LPCTSTR lpName // object name
¡¡¡¡);
delphiÉùÃ÷£º
function CreateMutex(lpMutexAttributes: PSecurityAttributes; bInitialOwner: BOOL; lpName: PChar): THandle; stdcall;
´´½ ......
TCollection ÊÇTCollectionItenm¶ÔÏóµÄÒ»¸öÈÝÆ÷¡£
Àà¹ØÏµTObject→TPersistent
¡¡¡¡Ã¿Ò»¸öTCollection¶¼ÓµÓÐÒ»×éTCollectionItem¶ÔÏó¡£
¡¡¡¡ÔÚÆäItemsÊôÐÔÊý×éÖУ¬TCcllection±£´æ¼¯ºÏÏîÄ¿µÄÒ»¸öϱꡣCount ÊôÐÔ°üº¬Á˼¯ºÏµÄÏîÄ¿ÊýÁ¿¡£Ê¹ÓÃAddºÍClear·½·¨¿ÉÒÔÏò¼¯ºÏÖмÓÈëÏîÄ¿ºÍ´Ó¼¯ºÏÖÐɾ³ýÏîÄ¿¡£
¡¡¡¡´ÓTCollect ......
windows¼¸¸öÖØÒªµÄÄÚºËÊý¾Ý½á¹¹ËäÈ»ÍøÉÏÒ²ÓÐÏà¹ØµÄ¶¨Ò壬µ«¸öÈ˾õµÃ²»ÆëÈ«¶¨Òå²»¹æ·¶£¬Òò´ËÓÃÒ»Ììʱ¼äʹÓÃWinDbg+Win2000sourcecodeÖØÐ¶¨ÒåÁ˳£ÓõÄÄÚºËÊý¾Ý½á¹¹£¬²¢¾¡¿ÉÄÜ»¹Ô΢ÈíµÄԽṹ¶¨Ò壬ÿ¸ö½á¹¹¶¼µÝ¹éµ½×î×Ó²ãµÄ½á¹¹²¢ÇÒͨ¹ýÁ˲âÊÔ¡£Í¨¹ýÕâ´Î¹¤×÷¹ý³Ì²»½öʹ×Ô¼ºµÃµ½Ò»´ÎѧϰµÄ»ú»á£¬¶øÇÒÌá¸ßÁË×Ô¼ºµÄÕûÌåÈí¼þ¼Ü¹ ......
ÖØÔØ CreateParams ·½·¨¼´¿É
ÉùÃ÷£º
procedure CreateParams(var Params: TCreateParams);override;
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.WndParent := 0;
end; ......