ÔÚDelphiºÍVCÖд´½¨ºÍµ÷Óö¯Ì¬Á´½Ó¿â
´ó¼ÒÔÚÈí¼þ¿ª·¢Ê±¾³£»áÓöµ½ÕâÑùµÄÇé¿ö£¬ÔÚ²»Í¬µÄ¿ª·¢»·¾³ÖÐΪʵÏÖһЩ¹¦ÄÜÏàͬµÄ¹ý³Ì£¬ÓÉÓÚ¿ª·¢ËùʹÓõÄÉè¼ÆÓïÑÔ²»Í¬£¬Òò¶ø²»µÃ²»±àдÐí¶àÀàËÆµÄ´úÂ룬ÉõÖÁÓÐʱҪÔÚͬһ¸ö¿ª·¢»·¾³²»Í¬ÏîÄ¿ÖÐÖØÐ´´úÂ룬Õâ¾ÍÔì³ÉÁ˺ܴóµÄ×ÊÔ´ÀË·Ñ¡£¶¯Ì¬Á´½Ó¿âÄܽϺõĽâ¾öÕâ¸öÎÊÌâ£¬ÖØ¸´ÀûÓôúÂ뽫´ó´óÌá¸ßÁË¿ª·¢Ð§ÂÊ¡£Ò»°ã£¬Óû§ÔÚÓ¦ÓóÌÐòÖлùÓÚÈçÏÂÒªÇó´´½¨ºÍʹÓÃDLL£º
¡¡¡¡1. ÔÚ²»Í¬µÄ¿ÉÖ´ÐÐÎļþÖ®¼ä¹²ÏíµÄ³ÌÐò£»
¡¡¡¡2. ÔÚÉè¼ÆÓ¦ÓóÌÐòʱ£¬½«Æä²ð·Ö³É¸÷¸öÏ໥¶ÀÁ¢¹¦Äܲ¿¼þ£¬ÎªÒÔºóÕâЩ¹¦Äܲ¿¼þ¸÷×ÔÉý¼¶Ìṩ·½±ãµÄ;¾¶¡£
¡¡¡¡¶¯Ì¬Á´½Ó¿â½«¹²Ïí³ÌÐò»ò¹¦Äܲ¿¼þ×ö³É¿âÖеĺ¯Êý£¬ÐγÉDLLÎļþ£¬ÆäËüÓ¦ÓóÌÐòͨ¹ýʹÓÃDLLµ÷ÓÃÕâЩº¯Êý¡£ÔÚÕâÀォ¶ÔDelphiºÍVCÖд´½¨ºÍʹÓö¯Ì¬Á´½Ó¿âµÄ·½·¨×öÒ»½éÉÜ¡£DelphiºÍVC¶¨ÒåµÄ¶¯Ì¬Á´½Ó¿â¾ù¿ÉÔÚÁ½ÕߵĿª·¢»·¾³ÖÐʹÓá£
¡¡¡¡Ò»¡¢ ÓÃDelphi´´½¨DLL
¡¡¡¡DelphiµÄDLL´´½¨²¢²»¸´ÔÓ£¬ÏÂÃæÏò´ó¼Ò½éÉÜDelphiµÄDLL´´½¨·½·¨¡£
¡¡¡¡£¨1£©Ê×ÏÈ´´½¨Ò»¸öеÄDLLÏîÄ¿(NewProject)project1£¬ÎļþÍ·²¿Îª£º
library Project1;
¡¡¡¡£¨2£©USESÓï¾äºóÃæ¼ÓÈëExPortsÓï¾ä£¬Ö¸Ã÷µ÷ÓÃDLLµÄº¯ÊýÃû£¬ÐÎʽΪ£º
exports
checkpwd name 'checkpwd';
¡¡¡¡£¨3£©ÔÚDLLµÄPasÎļþÖÐType......Endºó¼ÓÈë¸ÃDLLµÄº¯Êý»ò¹ý³ÌµÄÉùÃ÷£¬ÐÎʽÈçÏ£º
FunctionName(argment):Boolean;export;
¡¡¡¡
¡¡¡¡¸Ãº¯ÊýÒ²¿ÉÒÔ´æÔÚÓÚÁíÒ»¸öpasÎļþÖУ¨ÈçUnit1.pas£©£¬´ËʱֻÐèÔÚÏîÄ¿ÎļþÖмÓÈ룺
uses
Unit1 in 'Unit1.pas' {Form1};
¡¡¡¡ÖµµÃ×¢ÒâµÄÊÇ£¬¸Ãº¯Êý»ò¹ý³ÌÓ¦¼ÓÈë´°ÌåµÄCreateºÍFree(²úÉúºÍÊÍ·Å)·½·¨¡£
¡¡¡¡£¨4£©¶ÔÏîÄ¿½øÐбàÒë¼´ÐγÉDLLÎļþ£¬¿É±»ÆäËüÏîÄ¿µ÷Óá£
¶þ¡¢DelphiÖÐDLLµÄµ÷ÓÃ
¡¡¡¡µ÷ÓÃDLLÓÐÁ½ÖÖ·½·¨£¬Ò»ÖÖÊÇÔÚÓ¦ÓóÌÐò×°ÔØÊ±µ÷Óã¬ÁíÒ»ÖÖÊÇÔÚÓ¦ÓóÌÐòÔËÐÐʱµ÷Óá£
¡¡¡¡(1) ×°ÔØÊ±µ÷ÓÃDLL
¡¡¡¡ÔÚµ÷ÓÃDLLµÄPasÎļþÖУ¬¶ÔDLLº¯Êý½øÐÐÍⲿÉùÃ÷£¬ÉùÃ÷ӦλÓÚImplementationºó£¬ÐÎʽÈçÏ£º
Implementation
Function functionname(argment):Boolean;far;External 'DllName';
¡¡¡¡
¡¡¡¡ÆäÖÐExternal¹Ø¼ü×ÖºóÃæµÄÒýºÅÄÚÊÇDLLµÄÎļþÃû£¬¸ÃÎļþÒ»°ãÓ¦·ÅÔÚϵͳµÄsystemĿ¼Ï£¬»òÓëµ÷ÓÃËüµÄÏîĿͬһĿ¼¡£ÉùÃ÷ÒÔºó¼´¿ÉÔÚPasÎļþÈκεط½ÒýÓÃDLLº¯Êý¡£
¡¡¡¡×°ÔØÊ±µ÷ÓÃDLLµÄÓŵãÊÇËٶȽϿ죬³ÌÐò¼äÒ²¿É¹²Ïí´úÂë¡£
¡¡¡¡(2) ÔËÐÐʱµ÷ÓÃDLL
¡¡¡¡DLLµÄÁíÒ»ÖÖµ÷Ó÷½·¨ÊÇÔÚÔËÐÐʱµ÷Óá£ÕâÖÖ·½·¨Òªµ÷Óõ½WindowsµÄAPIº¯ÊýLoadLibrary£¬GetProcAddress£¬FreeLibrar
Ïà¹ØÎĵµ£º
http://book.77169.com/data/web5302/20050228/20050228__3692503.html
ActiveX ºÍ Web
ÔÚWindows ²Ù×÷ϵͳÏ£¬ÓÐÒ»¸öÖØÒªµÄ»úÖÆ£¬¾ÍÊÇOLE £¬¾ÍÊÇ¿ÉÒÔÈÃij
¸öÓ¦ÓóÌÐò£¨OLE Controller£©·ÃÎÊÆäËüÓ¦ÓóÌÐò£¨OLE Server£©ËùÌṩµÄ
¹¦ÄÜ£¬ÕâÑù×öµÄºÃ´¦ÊÇ£¬Èç¹ûÒѾÓÐÁËÍê³ÉijÏÄܵijÌÐò£¬Äã¾Í²»±ØÔÙΪ
ijÏÄܱàÐ´ÌØ¶¨ ......
dynamic¾ÍÊÇËüÊǶ¯Ì¬·½·¨£¬Ã»Óо²Ì¬µØÖ·£¬ËùÒÔËÙ¶ÈÂýÒ»µã
virtualÊÇÐé·½·¨£¬Èç¹ûÔÚ»ùÀàÖв»ÉùÃ÷³ÉÐé·½·¨µÄ»°£¬¼Ì³Ðºó£¬¸Ã·½·¨»áÌáʾһ¾¯¸æÐÅÏ¢£¬°Ñ»ùÀàÖз½·¨ÆÁ±ÎµôÁË
---------------------------------------------------------------
¶¯Ì¬£¨Dynamic£©ºÍÐéÄ⣨Virtual£©ºó¶¼¿ÉÒÔʹÓÃOverride¹Ø¼ü×ÖÔÚÅÉÉúÀàÖжԶÔÓ¦ ......
Ò»¡¢Formatº¯ÊýµÄÓ÷¨
FormatÊÇÒ»¸öºÜ³£Óã¬È´ÓÖËÆºõºÜ·³µÄ·½·¨£¬±¾ÈËÊÔͼ¶ÔÕâ¸ö·½·¨µÄ°ïÖú½øÐÐһЩ·Ò룬ÈÃËüÓÐÒ»¸öÍêÕûµÄ¸Åò£¬ÒÔ¹©´ó¼Ò²éѯ֮Óãº
Ê×ÏÈ¿´ËüµÄÉùÃ÷£º
function Format(const Format: string; const Args: array of const): string; overload;
ÊÂʵÉÏFormat·½·¨ÓÐÁ½¸öÖÖÐÎʽ£¬ÁíÍâÒ»ÖÖÊÇÈý¸ö²ÎÊýµÄ£¬Ö ......
DelphiµÄ·½·¨ÀàÐÍÓУº
1.¾²Ì¬·½·¨ (Static) ĬÈÏÀàÐÍ£¬¿ÉÒÔÊ¡ÂԹؼü×Ö
2.ÐéÄâ·½·¨ (Virtual)
3.¶¯Ì¬·½·¨ (Dynamic)
4.ÏûÏ¢·½·¨ (Message)
5.³éÏó·¨·½ (Abstract)
=======================================================
1£©¾²Ì¬·½·¨[static]
¾²Ì¬·½·¨ÀàËÆÓÚͨ³£µÄ¹ý³ÌºÍº¯Êý£¬±àÒëÆ÷ÔÚ±àÒëʱ¾ÍÒÑÖ¸¶¨ÁËÊä³ö¸Ã·½· ......
ÒÔÏÂÊÇÔÚÍøÉÏÊÕ¼¯µÄһЩ¶ÔÎÞÀàÐͲÎÊýµÄ˵Ã÷.¸öÈËÀí½âÎÞÀàÐͱäÁ¿¾ÍÊÇÒ»¸öÖ¸Õë.
ÏóDelphiÖÐfunction Read(var Buffer; Count: Longint): Longint; override;ÏóBufferÕâÑùûÓÐÀàÐ͵IJÎÊý¾¿¾¹Ó¦¸ÃÔõô¸ø²ÎÊý£¿£¿£¿£¿
Õâ˵Ã÷BufferÊÇͨ¹ýµØÖ··½Ê½´«µÝµÄ£¬Ò»°ã˵À´Ö» ......