DelphiÐ´ÍøÒ³°²È«¿Ø¼þ(dll,ocx)
Unt_Machine_WebDll.pas
BODY {background: #FFFFFF}
A:link { color: #0000FF}
A:visited { color: #0000FF}
A:Active { color: #0000FF}
.bold {font-weight: bold}
.italic {font-style: italic}
.underline {text-decoration: underline}
unit Unt_Machine_WebDll;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
ComObj, ActiveX, Machine_TLB, StdVcl, SysUtils, Windows, Device ;
const
g_SupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER or INTERFACESAFE_FOR_UNTRUSTED_DATA ;
type
TMachine = class(TAutoObject, IMachine, IObjectSafety)
private
FObjectSafetyFlags: DWORD;
protected
{ Protected declarations }
...
public
{ IObjectSafety }
function GetInterfaceSafetyOptions(const IID: TIID; pdwSupportedOptions,
pdwEnabledOptions: PDWORD): HResult; virtual; stdcall;
function SetInterfaceSafetyOptions(const IID: TIID; dwOptionSetMask,
dwEnabledOptions: DWORD): HResult; virtual; stdcall;
end;
implementation
uses ComServ;
/////////////²ÎÊý´«µÝ/////////////////////////////////////////
var
...
function TMachine.GetInterfaceSafetyOptions(const IID: TIID;
pdwSupportedOptions, pdwEnabledOptions: PDWORD): HResult;
var
Unk: IUnknown;
begin
if (pdwSupportedOptions = nil) or (pdwEnabledOptions = nil) then
begin
Result := E_POINTER;
Exit;
end;
Result := QueryInterface(IID, Unk);
if Result = S_OK then
begin
pdwSupportedOptions^ := INTERFACESAFE_FOR_UNTRUSTED_CALLER or
INTERFACESAFE_FOR_UNTRUSTED_DATA;
pdwEnabledOptions^ := FObjectSafetyFlags and
(INTERFACESAFE_FOR_UNTRUSTED_CALLER or INTERFACESAFE_FOR_UNTRUSTED_DATA);
end
else begin
pdwSupportedOptions^ := 0;
pdwEnabledOptions^ := 0;
end;
end;
function TMachine.SetInterfaceSafetyOptions(const IID: TIID;
dwOptionSetMask, dwEnabledOptions: DWORD): HResult;
var
Unk: IUnknown;
begin
Result := QueryInterface(IID, Unk);
if Result S_OK then Exit;
FObjectSafetyF
Ïà¹ØÎĵµ£º
Ï£Íû´ó¼ÒÔÚתÌùµÄʱºò×¢Ã÷³ö´¦£¬Ð»Ð»)
ÓÃDELPHI¿ª·¢ÍøÂç´úÂëÒѾÓÐÒ»¶Îʱ¼äÁË£¡
ÎÒ·¢ÏÖÔÚÍøÉÏÓÃVCÀ´ÊµÏÖÍê³É¶Ë¿Ú£¨IOCP£©µÄ´úÂëºÜ¶à£¬µ«ÊÇʹÓÃDELPHIÀ´ÊµÏֵľͱȽÏÉÙÁË¡£¶ÔIOCP½²µÄÇå³þµÄ¾Í¸üÉÙÁË¡£ÔÚÕâÀïÎÒ°Ñ×Ô¼º±àдDELPHIϵÄIOCPд³öÀ´£¬Ï£Íû¶Ô¸ÕѧÍê³É¶Ë¿ÚµÄÅóÓÑÓиö°ïÖú¡£
Ê×ÏÈÎÒÃÇÀ´Á˽âһЩÔÚʹÓÃIOCPµÄʱºòÐèÒ ......
1.SHIFT+Êó±ê×ó¼ü ÏÈÑ¡ÖÐÈÎÒ»¿Ø¼þ,°´¼üºó¿ÉÑ¡Öд°Ìå(Ñ¡Öпؼþºó°´EscЧ¹ûÒ»Ñù)
2.Shift+F8 µ÷ÊÔʱµ¯³öCPU´°¿Ú¡£ 3.Shift+F10 µÈÓÚÊó±êÓÒ¼ü£¨Windows¿ì½Ý¼ü£©¡£
4.Shitf+¼ýÍ· Ñ¡Ôñ 5.shift +F12 ¿ìËÙ²éÕÒ´°Ìå²¢´ò¿ª
6.F7 £¨²½½øÊ½µ÷ÊÔͬʱ׷×Ù½øÈë×Ó¹ý³Ì£© 7.F8 £¨²½½øÊ½µ÷ÊÔ²»½øÈë×Ó¹ý³Ì£©
8.F9 ÔËÐÐ 9.F12 Çл»EDITO ......
ÎÒÒ»¿ªÊ¼ÒÔΪ£¬½«±íµ¥ÉèÖÃΪÒþ²Ø£¬¿ÉÒÔÔÚ±íµ¥´´½¨Ê¼þÖм´FormCreate(Sender:TObject)È¥ÉèÖÃ
Òò´Ë£¬ ÎÒÔÚÕâ¸öprocedure TForm.FormCreate(Sender:TObject)ÖУ¬
ÏëÓÃÒ»ÏÂÁ½ÖÖ·½Ê½ÊµÏÖ
¼´£º
µ÷ÓÃ from.Hi ......
´ËÎÄÊʺÏDelphiÐÂÊÖÔĶÁ£¬ÌرðÊÇÁ¬½ÓÊý¾Ý¿â·½Ã滹һ¶®°ë¶®ÉõÖÁ¸ù±¾²»¶®µÄÐÂÊÖ£»
--------------------------µ«×ÜÌåÏÔµÃÓеãÂÒ-------------------------
±¾ÎÄÕÂÒÔDelphi 7ºÍSQL Server 2000ΪÀý£¬¿Ø¼þÃû¾ùΪϵͳĬÈÏ£¬ÈçUnit1,DataModule1,Edit1,ADOCommand1,ADODataS ......
·þÎñ¶Ë£ºÌí¼ÓADOConnection£¬ADOQuery1£¬ADOQuery2¡£ÉèÖÃADOQuery1ΪÖ÷±í£¬ADOQuery2Ϊ´Ó±í¡£(ͨ¹ý ADOQuery2.SQL.Text:= 'select * from ´Ó±í where FKID=:Ö÷±íPKID'ÉèÖÃ)¡£Ìí¼ÓDataSetProvider1ºÍDataSetProvider2·Ö±ðÁ¬½Óµ½ADOQuery1ºÍADOQuery2¡£
¿Í»§¶Ë£ºÌí¼ÓClientDataSet1£¬ClientDataSet2¡£ClientDataS ......