Delphi 7ʼþµÄ¶à´¦Àí»úÖÆ
Delphi 7ʼþµÄ¶à´¦Àí»úÖÆ
Allen Tao
2007-08-19
¡¡¡¡Ê×ÏȽâÊÍÒ»ÏÂÕâ¸öÌâÄ¿¡£ÔÚÎÒʹÓÃDelphi 7µÄ¹ý³ÌÖз¢ÏÖ£¬Ò»¸ö¶ÔÏóµÄʼþÖ»Äܱ»Ò»¸ö¹ý³Ì´¦Àí¡£Èç¹û¶à´Î¸øÕâ¸ö¶ÔÏóµÄʼþ¸³¸ø´¦ÀíʼþµÄ¹ý³Ì£¬×îºóÕæÕý´¦ÀíʼþµÄ½«ÊÇ×îºó¸³ÖµµÄÄǸö¹ý³Ì¡£ÀýÈ磬ÓÐÀàTMyClassÖж¨ÒåÁËÒ»¸öʼþOnSomeFired£¬ÔÚÀàTClientClassÖиÃÀ౻ʵÀý»¯£¬ËüµÄʼþ±»´¦Àí¡£ÈçÏÂËùʾ£º
constructor TClientClass.Create;
var
myObj: TMyClass;
begin
//…
myObj:= TMyClass.Create;
myObj.OnSomeFired:= SomeFired1;
myObj.OnSomeFired:= SomeFired2;
¡¡¡¡ÕâÀïµÄSomeFired1ÓëSomeFired2¶¼ÊÇTClientClassÖж¨ÒåµÄ´¦Àí¹ý³Ì¡£Æä×îÖյĽá¹ûÊǵ±OnSomeFiredʼþ·¢Éúʱ£¬Ö»ÓÐSomeFired2±»µ÷Óá£
¡¡¡¡µ«ÔÚ±à³ÌµÄʵ¼ÊÖУ¬ÍùÍùÐèÒªÒ»¸öʼþ±»¶à¸ö·½·¨Ëù´¦Àí¡£Îª´Ë£¬ÎҲο¼ÁËһЩ¶ÔÕâ¸öÎÊÌâµÄ½â¾ö°ì·¨£¬×ܽáµÃ³öÁËÒ»¸ö×Ô¼ºµÄ·½·¨£¬³ÆΪʼþµÄ¶à´¦Àí»úÖÆ¡£
ÔÀí
¡¡¡¡Delphi 7ÖеÄʼþ±¾ÖÊÉÏÊÇÒ»ÖÖ¹ý³ÌÖ¸Õë¡£µ«Ê¼þÀàÐÍÔÚ¶¨ÒåʱҪ±ÈÒ»°ã¹ý³ÌÖ¸ÕëÔÚ×îºó¶àÒ»¸ö“of object”£¬Èç³£ÓõÄTNotifyEventµÄ¶¨ÒåÊÇ£º
TNotifyEvent = procedure(Sender: TObject) of object;
¡¡¡¡Òò´Ë£¬¸øÒ»¸öʼþÊôÐÔ¸³Öµ£¬Ò²¾ÍÊǸøÒ»¸öÀàµÄ¹ý³ÌÖ¸ÕëÀàÐ͵ijÉÔ±±äÁ¿¸³Öµ£¬µ±È»ÊÇ×îºóÒ»´ÎµÄ¸³Öµ²ÅÓÐЧ¡£ÒªÏë¶à´Î¸³ÖµÓÐЧ¾Í±ØÐëÓÐÒ»¸öÊý¾Ý½á¹¹°Ñÿ´Î¸³Öµ¸³¸øµÄ¹ý³ÌÖ¸Õë±äÁ¿¶¼¼Ç¼ÏÂÀ´£¬×îºÏÊʵÄÊý¾Ý½á¹¹µ±È»ÊÇÁбíTList¡£µ«Èç¹ûÔÚÿһ¸öÓÐʼþµÄÀàÖж¼¼ÓÒ»¸ö¼Ç¼Ê¼þ¸³ÖµµÄÁбí¶ÔÏó£¬×ÔÈ»ÊDz»·½±ãµÄ£¬¶øÇÒʹÓÃÕâ¸öÁбíµÄ´úÂëÔÚ²»Í¬ÀàÖÐÒ²²î²»¶à£¬Ó¦¸Ã³éÈ¡³öÀ´ÐγÉÒ»¸öÀà¡£Õâ¸öÀà¾ÍÊÇʼþ¶à´¦Àí»úÖƵĺËÐÄÄÚÈÝ¡£
×ö·¨
¡¡¡¡Òª¼Ç¼Ê¼þ´¦Àí¹ý³Ì£¬¾ÍÐèÒª½«¹ý³ÌÖ¸Õë±äÁ¿·ÅÈëÁбí¶ÔÏóÖС£µ«Áбí¶ÔÏóÖ»ÄÜÌí¼ÓÖ¸ÕëÀàÐͶÔÏó£¨Ò²¾ÍÊÇÒýÓÃÀàÐÍ£©£¬¶ø¹ý³ÌÖ¸Õë±äÁ¿ÊÇÖ¸ÀàÐͱäÁ¿£¬²»ÄÜÖ±½ÓÌí¼Ó¡£Õâ¾ÍÐèÒªÓÐÒ»¸öÀà¶Ô¹ý³ÌÖ¸Õë±äÁ¿½øÐаü×°£¬×ª»¯ÎªÖ¸ÕëÀàÐͶÔÏó¡£ÓÚÊÇ£¬ÏÈÒª¶¨Òå°ü×°ÀàTCallMethod£¬ÈçÏÂËùʾ£º
TCallMethod = class
private
_callback: TMethod;
public
property Callback: TMethod read _callback write _callback;
end;
¡¡¡¡ÕâÀïµÄTMethodÊÇDelphiÔ¤¶¨ÒåµÄ¼Ç¼ÀàÐÍ£¬Èκιý³ÌÖ¸Õë±äÁ¿¶¼¿ÉÒÔÇ¿ÖÆת»¯ÎªÕâÖÖÀàÐÍ¡£Ö®ºó£¬ÔÙ¶¨Òå¼Ç¼´¦Àí¹ý³ÌµÄÀ࣬ÈçÏÂËùʾ£º
TEve
Ïà¹ØÎĵµ£º
Delphi±àдϵͳ·þÎñ¶þ£ºÏµÍ³·þÎñºÍ×ÀÃæ³ÌÐòµÄÇø±ð ÊÕ²Ø
Windows 2000/XP/2003µÈÖ§³ÖÒ»ÖÖ½Ð×ö“ϵͳ·þÎñ³ÌÐò”µÄ½ø³Ì£¬ÏµÍ³·þÎñºÍ×ÀÃæ³ÌÐòµÄÇø±ðÊÇ£º
ϵͳ·þÎñ²»Óõǽϵͳ¼´¿ÉÔËÐУ»
ϵͳ·þÎñÊÇÔËÐÐÔÚSystem Idle Process/System/smss/winlogon/servicesϵģ¬¶ø×ÀÃæ³ÌÐòÊÇÔËÐÐÔÚExplorerϵģ»
......
procedure TForm1.Button2Click(Sender: TObject);
var
o : Olevariant;
begin
webbrowser1.Navigate('http://www.163.com');
delay(2000);
o := WebBrowser1.OleObject.document.all.item('username',0);
o.value := 'username';
o := W ......
Ç°ÑÔ
¡¡¡¡ÎÒдDelphi³ÌÐòÊÇ´ÓMISϵͳÈëÃŵģ¬¿ªÊ¼³¢ÊÔ×Óϵͳ»®·ÖµÄʱºò²ÉÓõÄÊÇMDI´°ÌåµÄ½á¹¹¡£Ëæ×Åϵͳ¹¦ÄܵÄÀ©³ä£¬²»¶ÏÓÐеÄ×Óϵͳ¼ÓÈëϵͳÖУ¬µ¥¸ö¹¤³Ì»á±äµÃ·Ç³£´ó£¬Ã¿´Î×öÒ»µãÐ޸Ķ¼ÒªÖØбàÒ룬µ¥¸ö¹¤³ÌµÄÐÎʽҲ²»ÀûÓÚÍŶÓÐ×÷¡£ÎªÁËÌá¸ß¹¤×÷ЧÂÊ£¬ÎÒÏ£ÍûÀûÓÃDLL¶¯Ì¬Á´½Ó¿âµÄÐÎʽʵÏÖ²å¼þ½á¹¹µÄ±à³Ì¡£
¡¡¡ ......
procedure Delay(msecs:integer);
var
Tick: DWord;
Event: THandle;
begin
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWord(msecs);
while (msecs > 0) and (MsgWaitForMultipleObjects(1, Event, False, msecs, QS_ALLINPUT) <&g ......