delphi ±àдdllÎļþ
dllÎļþ¼ò½é£º
ËüÊÇDynamic Link Library µÄËõдÐÎʽ£¬DLL ÊÇÒ»¸ö°üº¬¿ÉÓɶà¸ö³ÌÐòͬʱʹÓõĴúÂëºÍÊý¾ÝµÄ¿â£¬DLL²»ÊÇ¿ÉÖ´ÐÐÎļþ¡£¶¯Ì¬Á´½ÓÌṩÁËÒ»ÖÖ·½·¨£¬Ê¹½ø³Ì¿ÉÒÔµ÷Óò»ÊôÓÚÆä¿ÉÖ´ÐдúÂëµÄº¯Êý¡£º¯ÊýµÄ¿ÉÖ´ÐдúÂëλÓÚÒ»¸ö DLL ÖУ¬¸Ã DLL °üº¬Ò»¸ö»ò¶à¸öÒѱ»±àÒë¡¢Á´½Ó²¢ÓëʹÓÃËüÃǵĽø³Ì·Ö¿ª´æ´¢µÄº¯Êý¡£DLL »¹ÓÐÖúÓÚ¹²ÏíÊý¾ÝºÍ×ÊÔ´¡£¶à¸öÓ¦ÓóÌÐò¿Éͬʱ·ÃÎÊÄÚ´æÖе¥¸öDLL ¸±±¾µÄÄÚÈÝ¡£DLL ÊÇÒ»¸ö°üº¬¿ÉÓɶà¸ö³ÌÐòͬʱʹÓõĴúÂëºÍÊý¾ÝµÄ¿â¡£ÀýÈ磬ÔÚ Windows ²Ù×÷ϵͳÖУ¬Comdlg32 DLL Ö´ÐÐÓë¶Ô»°¿òÓйصij£¼ûº¯Êý¡£Òò´Ë£¬Ã¿¸ö³ÌÐò¶¼¿ÉÒÔʹÓøà DLL Öаüº¬µÄ¹¦ÄÜÀ´ÊµÏÖ“´ò¿ª”¶Ô»°¿ò¡£ÕâÓÐÖúÓÚ´Ù½ø´úÂëÖØÓúÍÄÚ´æµÄÓÐЧʹÓá£
¡¡¡¡Í¨¹ýʹÓà DLL£¬³ÌÐò¿ÉÒÔʵÏÖÄ£¿é»¯£¬ÓÉÏà¶Ô¶ÀÁ¢µÄ×é¼þ×é³É¡£ÀýÈ磬һ¸ö¼ÆÕʳÌÐò¿ÉÒÔ°´Ä£¿éÀ´ÏúÊÛ¡£¿ÉÒÔÔÚÔËÐÐʱ½«¸÷¸öÄ£¿é¼ÓÔØµ½Ö÷³ÌÐòÖУ¨Èç¹û°²×°ÁËÏàӦģ¿é£©¡£ÒòΪģ¿éÊDZ˴˶ÀÁ¢µÄ£¬ËùÒÔ³ÌÐòµÄ¼ÓÔØËٶȸü¿ì£¬¶øÇÒÄ£¿éÖ»ÔÚÏàÓ¦µÄ¹¦Äܱ»ÇëÇóʱ²Å¼ÓÔØ¡£
¡¡¡¡´ËÍ⣬¿ÉÒÔ¸üΪÈÝÒ׵ؽ«¸üÐÂÓ¦ÓÃÓÚ¸÷¸öÄ£¿é£¬¶ø²»»áÓ°Ïì¸Ã³ÌÐòµÄÆäËû²¿·Ö¡£ÀýÈ磬Äú¿ÉÄܾßÓÐÒ»¸ö¹¤×ʼÆËã³ÌÐò£¬¶øË°ÂÊÿÄê¶¼»á¸ü¸Ä¡£µ±ÕâЩ¸ü¸Ä±»¸ôÀëµ½ DLL ÖÐÒÔºó£¬ÄúÎÞÐèÖØÐÂÉú³É»ò°²×°Õû¸ö³ÌÐò¾Í¿ÉÒÔÓ¦ÓøüÐÂ
±àдDLLµÄÄ¿µÄÊÇΪÁËÊä³öÀý³Ì¹©ÆäËû³ÌÐòµ÷ÓÃ,Òò´ËÔÚDLLµÄ¹¤³ÌÎļþÖÐÒª°ÑÊä³öµÄÀý³ÌÓÃExports¹Ø¼ü×ÖÒý³ö¡£ÔÚµ÷ÓÃDLLµÄÓ¦ÓóÌÐòÖÐ,ÐèÒªÉùÃ÷Óõ½µÄDLLÖеķ½·¨,ÉùÃ÷¸ñʽҪºÍDLLÖеÄÉùÃ÷Ò»Ñù¡£·ÃÎÊDLLÖеÄÀý³ÌÓо²Ì¬µ÷ÓúͶ¯Ì¬µ÷ÓÃÁ½ÖÖ·½Ê½¡£¾²Ì¬µ÷Ó÷½Ê½¾ÍÊÇÔÚµ¥ÔªµÄInterface²¿·ÖÓÃExternalָʾ×ÖÁгöÒª´ÓDLLÖÐÒýÈëµÄÀý³Ì;¶¯Ì¬µ÷Ó÷½Ê½¾ÍÊÇͨ¹ýµ÷ÓÃWindowsµÄAPI°üÀ¨LoadLibraryº¯Êý¡¢GetProcAddressº¯ÊýÒÔ¼°FreeLibraryº¯Êý¶¯Ì¬µÄÒýÈëDLLÖеÄÀý³Ì¡£
¡¡¡¡¾²Ì¬µ÷Ó÷½Ê½ËùÐèµÄ´úÂë½Ï¶¯Ì¬µ÷Ó÷½Ê½ËùÐèµÄÉÙ,µ«´æÔÚ×ÅһЩ²»×ã,Ò»ÊÇÈç¹ûÒª¼ÓÔØµÄDLL²»´æÔÚ»òÕßDLLÖÐûÓÐÒªÒýÈëµÄÀý³Ì,Õâʱºò³ÌÐò¾Í×Ô¶¯ÖÕÖ¹ÔËÐÐ;¶þÊÇDLLÒ»µ©¼ÓÔØ¾ÍһֱפÁôÔÚÓ¦ÓóÌÐòµÄµØÖ·¿Õ¼ä,¼´Ê¹DLLÒѲ»ÔÙÐèÒªÁË¡£¶¯Ì¬µ÷Ó÷½Ê½¾Í¿É½â¾öÒÔÉÏÎÊÌâ,ËüÔÚÐèÒªÓõ½DLLµÄʱºò²Åͨ¹ýLoadLibraryº¯ÊýÒýÈë,ÓÃÍêºóͨ¹ýFreeLibraryº¯Êý´ÓÄÚ´æÖÐÐ¶ÔØ,¶øÇÒͨ¹ýµ÷GetProcAddressº¯Êý¿ÉÒÔÖ¸¶¨²»Í¬µÄÀý³Ì¡£×îÖØÒªµÄÊÇ,Èç¹ûÖ¸¶¨µÄDLL³ö´í,ÖÁ¶àÊÇAPIµ÷ÓÃʧ°Ü,²»»áµ¼Ö³ÌÐòÖÕÖ¹¡£ÒÔϽ«Í¨¹ý¾ßÌåµÄʵÀý˵Ã÷˵Ã÷Õâµ÷Ó÷½Ê½µÄʹÓ÷½·¨¡£
¡¡¡¡1£®¾²Ì¬µ÷Ó÷½Ê½
¡¡¡¡Ê¾Àý³ÌÐò´´½¨ÁËÒ»¸öDLL,Æä
Ïà¹ØÎĵµ£º
ʹÓÃdelphi¶àÄê,ǰЩÌìºöÈ»Óöµ½²»»ástringתpbyte,ºÜÊÇʧÂä,´Ëʱ¶ÔÓÚ±à³Ì»ù±¾¹¦µÄÖØÒªÐÔÉîÓÐÌå»á.ÕâÆäÖÐÓõ½MOVEº¯Êý.
ʹÓÃdelphi¶àÄê,ǰЩÌìºöÈ»Óöµ½²»»ástringתpbyte,ºÜÊÇʧÂä,´Ëʱ¶ÔÓÚ±à³Ì»ù±¾¹¦µÄÖØÒªÐÔÉîÓÐÌå»á.ÕâÆäÖÐÓõ½MOVEº¯Êý.
¸ãÁ˺ÃÒ»»á²Å¸ãÃ÷°×ÆäÓ÷¨.ËùÒÔÏëÌù³öÀ´°ïÖúÐèÒª°ïÖúµÄÈË.
var
&nb ......
DelphiÌṩµÄ×Ö·û´®º¯ÊýÀïÓÐÒ»¸öPosº¯Êý£¬ËüµÄ¶¨ÒåÊÇ£º
function Pos(Substr: string; S: string): Integer;
ËüµÄ×÷ÓÃÊÇÔÚ×Ö·û´®SÖвéÕÒ×Ö·û´®Substr£¬·µ»ØÖµÊÇSubstrÔÚSÖеÚÒ»´Î³öÏÖµÄλÖã¬Èç¹ûûÓÐÕÒµ½£¬·µ»ØÖµÎª0¡£
ʹÓÃposº¯ÊýÀ´²éÕÒ×Ö·ûµÚÒ»´Î³öÏÖµÄλÖÃ
var
str1:string;
i,j:integer;
begin
str1:='dsf465 ......
ÐèÒªÓõ½µÄÒ»¸öº¯Êý£º
LONG SetWindowLong(
HWND hWnd,
int nIndex,
LONG dwNewLong
);
ÆäÖÐnIndex GWL_EXSTYLE Retrieves the extended window styles.
dwNewLong WS_EX_TOOLWINDOW Creates a tool window; that is, a window intended to ......
¹ØÓÚdelphi Assigned
1.¸ù¾Ý Delphi Ö¸Áî²Î¿¼ÊÖ²áÖÐ
˵Ã÷£º
Assigned º¯Ê½ÔÚ²ÎÊý²»Îªnilʱ´«»ØTrue,±íʾָÕëÒѾָµ½Ä³¸öÄÚ´æµØÖ·£¬Õâ¸öÄÚ´æµØÖ·¿ÉÄÜÊÇÒ»¸ö¶ÔÏóµØÊ×µØÖ·£¬Ò²¿ÉÄÜÔÚº¯Êý»ò¹ý³ÌÖУ¬ÉùÃ÷Ò»¸öÖ¸Õë±äÁ¿£¬Ã»Óи³ÖµÎªnil £¬ÎÞÂÒµÄÖ¸Ïòij´¦£¬ÕâÁ½¸öÖÖÇé¿ö£¬Assigned£¨Ö¸Õë±äÁ¿£©¶¼²»Îªnil , º¯Êý·Å»ØTrue£»
¶ø² ......
VCL¶ÔÏó²»ÊÇḬ̈߳²È«µÄ£¬¶øÇÒËüÃǵÄÊôÐԺͷ½·¨±ØÐëÒª´ÓVCLÖ÷Ïß³ÌÖнøÐзÃÎÊ»ò±»Ö´ÐУ¬µ«ÓÐÁ½ÖÖVCL¶ÔÏóÊÇÀýÍâµÄÇé¿ö£¬ËüÃÇÊÇḬ̈߳²È«µÄ¡£Ò»ÖÖÊÇÈκÎͼÐζÔÏó£¬ÁíÒ»ÖÖÊÇTThreadList¡£
ÕâÒâζ×Ų»±Ø·ÇµÃÔÚÖ÷VCLÏß³ÌÖвÅÄÜÉèÖÃÒ»¸ö»²¼µÄ»±ÊÑÕÉ«£¬»ò»Ë¢ÀàÐÍ£¬¿ÉÒÔÔÚÁíÒ»¸öÏ̵߳Ļ·¾³ÖÐÍê³ÉÒ»µã¡£¶Ô ......