ÔÚ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
Ïà¹ØÎĵµ£º
Delphi ÖÐÈçºÎ°²×°×é¼þ?
delphiÖÐÈçºÎ°²×°×é¼þÓÐÎåÖÖÇé¿ö£º
1¡¢Ö»ÓÐÒ»¸öDCUÎļþµÄ×é¼þ¡£DCUÎļþÊDZàÒëºÃµÄµ¥ÔªÎļþ£¬ÕâÑùµÄ×é¼þÊÇ×÷Õß²»Ïë°ÑÔ´Â빫²¼¡£Ò»°ãÀ´Ëµ£¬×÷Õß±ØÐë˵Ã÷´Ë×é¼þÊʺÏDelphiµÄÄÄÖÖ°æ±¾£¬Èç¹û°æ±¾²»¶Ô£¬ÔÚ°²×°Ê±¾Í»á³öÏÖ´íÎó¡£Ò²ÕýÊÇÒòΪûÓÐÔ´Â룬¸øÊ¹ÓÃÕß´øÀ´Á˲»±ã£¬ÄǾÍÊÇÒ»µ©Delphi°æ±¾Éý¼¶£¬´Ë× ......
function ListFiles(Dir: String):TStrings;
var
FSearchRec: TSearchRec;
FileList: TStrings;
FindResult: Integer;
begin
if Dir[length(Dir)]<>'\' then Dir:=Dir+'\';
FileList :=TStringList.Create;
FindResult:=FindFirst(Dir+'*.*,faAnyFile+faDirectory,FSearchRec);
while FindRes ......
ÒÔÏÂÊÇÔÚÍøÉÏÊÕ¼¯µÄһЩ¶ÔÎÞÀàÐͲÎÊýµÄ˵Ã÷.¸öÈËÀí½âÎÞÀàÐͱäÁ¿¾ÍÊÇÒ»¸öÖ¸Õë.
ÏóDelphiÖÐfunction Read(var Buffer; Count: Longint): Longint; override;ÏóBufferÕâÑùûÓÐÀàÐ͵IJÎÊý¾¿¾¹Ó¦¸ÃÔõô¸ø²ÎÊý£¿£¿£¿£¿
Õâ˵Ã÷BufferÊÇͨ¹ýµØÖ··½Ê½´«µÝµÄ£¬Ò»°ã˵À´Ö» ......
====================================================
Delphi²Ù×÷ÎļþµÄÒ»°ã²½Ö裺
1£©¹ØÁªÎļþ£º
AssignFile(var F; FileName :string)£»
2£©³õʼ»¯Îļþ£º
Append(var F :Text);
//ֻд£¬ÓÚÎļþ×îºó×·¼ÓÊý¾Ý
Reset(var F [; RecSize :Word]);   ......