ÔÚDelphiÓ¦ÓóÌÐòÖÐʹÓÃDLL
ÔÚDelphiÓ¦ÓóÌÐòÖÐʹÓÃDLL
¡¡¡¡Delphi²»½ö¿Éµ÷ÓÃC£«£«²úÉúµÄDLLÄ£¿é£¬Í¬ÑùC£«£«³ÌÐòÒ²¿Éµ÷ÓÃDelphiËù²úÉúµÄDLL²¿¼þ¡£ÕâÑù½»»¥µ÷Óã¬ÎÞÐëÖظ´¿ª·¢£¬´ó´óËõ¶ÌÁËÉú²úÖÜÆÚ¡£
¡¡¡¡DelphiÓëVisualBasic¡¢VisualFoxProµÈÈí¼þÒ»Ñù£¬ÊôÓÚRAD¹¤¾ß£¨¿ìËÙÓ¦Óÿª·¢¹¤¾ß£©¡£ÊʺϿª·¢32λ»ò16λ£¯32λ»ìºÏÓ¦ÓóÌÐò¡£DelphiËùʹÓõijÌÐòÓïÑÔÊÇObjectPascal£¬Êǽṹ»¯¡¢ÃæÏò¶ÔÏóµÄ±àÒëÐÍÓïÑÔ£¬¾ßÓиßÖ´ÐÐЧÂÊ¡¢¿ÉÖØÓÃÐÔ¡¢Ò×ά»¤ÐÔ£¬¼°½ÏÇ¿µÄÒì³£´¦ÀíÄÜÁ¦¡¢Àà·â×°ÄÜÁ¦µÈ¡£VBÓëDelphiÏà±È£¬VB²»ÄܶԳÌÐò½øÐбàÒ룬ֻÄܽâÊÍÖ´ÐУ¬¸üÖØÒªµÄ²»Í¬ÊÇDelphi¾ßÓнÏÇ¿µÄ¼Ì³ÐÐÔ£¬DelphiµÄÓ¦ÓóÌÐò¿É±àÒëDLLÄ£¿é£¬VBÈ´ÎÞ·¨±àÒ룬ֻÄܵ÷ÓÃC±àÒëµÄDLL¡£¶øDelphi²»½ö¿Éµ÷ÓÃC£«£«²úÉúµÄDLLÄ£¿é£¬Í¬ÑùC£«£«³ÌÐòÒ²¿Éµ÷ÓÃDelphiËù²úÉúµÄDLL²¿¼þ¡£ÕâÑù½»»¥µ÷Óã¬ÎÞÐëÖظ´¿ª·¢£¬´ó´óËõ¶ÌÁËÉú²úÖÜÆÚ¡£
¡¡¡¡ Ò»¡¢ÓÃDelphi´´½¨DLL
¡¡¡¡DelphiµÄDLL´´½¨²¢²»¸´ÔÓ£¬ÏÂÃæÏò´ó¼Ò½éÉÜDelphiµÄDLL´´½¨·½·¨¡£
¡¡¡¡1¡¢Ê×ÏÈ´´½¨Ò»¸öеÄDLLÏîÄ¿£¨NewProject£©£¬ÒòΪDLLÓëµ÷ÓÃËüµÄÖ÷³ÌÐòÒª·Ö¿ª±àÒë¡£Èç¹ûDLLÄ£¿éÒѾ½¨Á¢ÔÚµ÷ÓÃËüµÄÏîÄ¿ÖУ¨Project£©£¬Ôò½«ËüµÄ´°Ì壨Form£©´ÓProject¡¡ÒƳö£¬Áí½¨Ò»¸öеÄÏîÄ¿£¨NewProject£©¡£Ö»Ðè´ÓFile²Ëµ¥Ñ¡ÖÐNewProjectÏȻºó½«DLLµÄPasÄ£¿éÎļþ¼ÓÈëµ½ÏîÄ¿ÖУ¬ÔÙ½«Æä×Ô¶¯½¨Á¢µÄForm1ɾ³ý¼´¿É¡£
¡¡¡¡2¡¢ÔÚDLLµÄDPRÎļþÖаÑProgram¹Ø¼ü×Ö¸ÄΪLibrary£¬ÉêÃ÷Ϊ¶¯Ì¬Á´½Ó¿â£¬ÔÚUSESÓï¾äºóÃæ¼ÓÈëExPortsÓï¾ä£¬Ö¸Ã÷µ÷ÓÃDLLµÄº¯ÊýÃû¡£
¡¡¡¡3¡¢Èç¹ûÖ÷³ÌÐòµÄDPRÎļþÒÑÓÐDLL´°ÌåCreateFormµÄÓï¾ä£¬Ôò½«ÆäÈ¥µô¡£
¡¡¡¡4¡¢ÔÚDLLµÄPasÎļþÖÐType£®£®£®£®£®£®Endºó¼ÓÈë¸ÃDLLµÄº¯Êý»ò¹ý³ÌµÄÉùÃ÷£¬ÐÎʽÈ磺¡¡¡¡FunctionName£¨argment£©£ºBoolean£»export£»
¡¡¡¡¸Ãº¯Êý»ò¹ý³ÌÓ¦¼ÓÈë´°ÌåµÄCreateºÍFree£¨²úÉúºÍÊÍ·Å£©·½·¨¡£
¡¡¡¡5¡¢¶ÔÏîÄ¿½øÐбàÒë¼´¿É¡£
¡¡¡¡ ¶þ¡¢DLLµÄµ÷ÓÃ
¡¡¡¡µ÷ÓÃDLLÓÐÁ½ÖÖ·½·¨£¬Ò»ÖÖÊÇÔÚÓ¦ÓóÌÐò×°ÔØʱµ÷Óã¬ÁíÒ»ÖÖÊÇÔÚÓ¦ÓóÌÐòÔËÐÐʱµ÷Óá£Ê×ÏȽéÉÜ×°ÔØʱDLLµÄµ÷Óãº
¡¡¡¡£¨1£©×°ÔØʱµ÷ÓÃDLL
PasÎļþÖУ¬¶ÔDLLº¯Êý½øÐÐÍⲿÉùÃ÷£¬ÉùÃ÷ӦλÓÚImplementationµÄUsesÓï¾äºó£¬ÐÎʽÈçÏ£º
¡¡¡¡Implementation
¡¡¡¡UsesDialogs£»
¡¡¡¡FunctionName£¨argment£©£ºBoolean£»far£»External′Call
Ïà¹ØÎĵµ£º
´ó¼ÒÔÚÈí¼þ¿ª·¢Ê±¾³£»áÓöµ½ÕâÑùµÄÇé¿ö£¬ÔÚ²»Í¬µÄ¿ª·¢»·¾³ÖÐΪʵÏÖһЩ¹¦ÄÜÏàͬµÄ¹ý³Ì£¬ÓÉÓÚ¿ª·¢ËùʹÓõÄÉè¼ÆÓïÑÔ²»Í¬£¬Òò¶ø²»µÃ²»±àдÐí¶àÀàËƵĴúÂ룬ÉõÖÁÓÐʱҪÔÚͬһ¸ö¿ª·¢»·¾³²»Í¬ÏîÄ¿ÖÐÖØд´úÂ룬Õâ¾ÍÔì³ÉÁ˺ܴóµÄ×ÊÔ´ÀË·Ñ¡£¶¯Ì¬Á´½Ó¿âÄܽϺõĽâ¾öÕâ¸öÎÊÌ⣬Öظ´ÀûÓôúÂ뽫´ó´óÌá¸ßÁË¿ª·¢Ð§ÂÊ¡£Ò»°ã£¬Óû§ÔÚÓ¦ÓóÌÐò ......
ÎÄÕÂÀ´Ô´£ºIT¹¤³ÌÐÅÏ¢Íø http://www.systhinker.com/html/09/n-12309.html
֮ǰÓÃAccess×÷Ò»¸öÓ¦Ó㬵«ÕÒ²»µ½»õ±Òת»»³É´óдÈËÃñ±ÒµÄ¹¦ÄÜ£¨µ±È»¿ÉÒÔͨ¹ýexcel ת»»£¬µ«²»ÔÚÒ»¸öÓ¦ÓÃÉÏ£¬·ÅÆú£©¡£ÒÔΪ±È½Ï¼òµ¥£¬×Ô¼ºÊÔд£¬ËÖªÓÃÁËÁ½¸öÍíÉÏ£¬²Å»ù±¾ÊµÏÖ£¬µ«Ã»ÓÐСÊýµã£¨Ôª£©ÒÔÏ»õ±ÒµÄת»»¡£Ò²Ã»ÓÐÕ×µÄÅжϡ£¶øÇÒ¶Ô×Ö· ......
±Ï¾¹Win32³ÌÐòµÄ¿ª·¢£¬Delphi»¹ÊÇÓÐÍçÇ¿µÄÉúÃüÁ¦µÄ¡£
²Ù×÷²½ÖèÈçÏ£º
1.½¨Á¢ res Îļþ
½¨Á¢Ò»¸öÎı¾Îļþ£¬Ãû×Ö¿ÉÒÔ×Ô¼ºÆð£¬ÎÒÕâÀï½Ð£ºUAC.manifest£¬ÄÚÈÝ£º
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
......
Delphi²Ù×÷×¢²á±í²½ÖèÈçÏ£º
-------------------------------------
1£©ÔÚUsesÖÐÌí¼ÓRegistryµ¥Ôª£»
2£©ÉùÃ÷TRegistry¶ÔÏó£»
3£©´´½¨TRegistry¶ÔÏó£»
4£©Ö¸¶¨¸ù¼ü£»
----------------try------------------
5£©´ò¿ªÐèÒª²Ù×÷µÄÖ÷¼ü£»
6£©¶Áд²Ù×÷£»
7£©±£´æ²¢¹Ø±ÕÖ÷¼ü£»
--------------finally----------------
......
Ò»¡¢Ê¹ÓÃÎļþÁ÷µÄ·½·¨½øÐп½±´£¬µ±È»¡£Í¬ÑùµÄµÀÀí£¬ÄãÒ²¿ÉÒÔʹÓÃÄÚ´æÁ÷µÈ·½·¨½øÐÐÎļþµÄ¿½±´£¬ÔÀíÊÇÒ»ÑùµÄ¡£
procedure copyfile(sourcefilename,targetfilename : String);
var f1, f2: tfilestream;
begin
f1 := tfilestream.Create(sourcefilename, fmopenread);
try
f2 := tfilestream ......