Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÓÃDelphiÖÆ×÷DLL

Ò» DllµÄÖÆ×÷Ò»°ã²½Öè
¶þ ²ÎÊý´«µÝ
Èý DLLµÄ³õʼ»¯ºÍÍ˳öÇåÀí[Èç¹ûÐèÒª³õʼ»¯ºÍÍ˳öÇåÀí]
ËÄ È«¾Ö±äÁ¿µÄʹÓÃ
Îå µ÷Óþ²Ì¬ÔØÈë
Áù µ÷Óö¯Ì¬ÔØÈë
Æß ÔÚDLL½¨Á¢Ò»¸öTForM
°Ë ÔÚDLLÖн¨Á¢Ò»¸öTMDIChildForM
¾Å Ê¾Àý£º
Ê® DelphiÖÆ×÷µÄDllÓëÆäËûÓïÑԵĻìºÏ±à³ÌÖг£ÓöÎÊÌ⣺
ʮһ Ïà¹Ø×ÊÁÏ
Ò» DllµÄÖÆ×÷Ò»°ã·ÖΪÒÔϼ¸²½£º
1 ÔÚÒ»¸öDLL¹¤³ÌÀïдһ¸ö¹ý³Ì»òº¯Êý
2 Ð´Ò»¸öExports¹Ø¼ü×Ö£¬ÔÚÆäÏÂд¹ý³ÌµÄÃû³Æ¡£²»ÓÃд²ÎÊýºÍµ÷Óúó׺¡£
¶þ ²ÎÊý´«µÝ
1 ²ÎÊýÀàÐÍ×îºÃÓëwindow C++µÄ²ÎÊýÀàÐÍÒ»Ö¡£²»ÒªÓÃDELPHIµÄÊý¾ÝÀàÐÍ¡£
2 ×îºÃÓзµ»ØÖµ[¼´Ê¹ÊÇÒ»¸ö¹ý³Ì]£¬À´±¨³öµ÷Óóɹ¦»òʧ°Ü£¬»ò״̬¡£³É¹¦»òʧ°ÜµÄ·µ»ØÖµ×îºÃΪ1[³É¹¦]»ò0[ʧ°Ü].Ò»¾ä»°£¬Óëwindows c++¼æÈÝ¡£
3 ÓÃstdcallÉùÃ÷ºó׺¡£
4 ×îºÃ´óСдÃô¸Ð¡£
5 ÎÞÐëÓÃfarµ÷Óúó׺£¬ÄÇÖ»ÊÇΪÁËÓëwindows 16λ³ÌÐò¼æÈÝ¡£
Èý DLLµÄ³õʼ»¯ºÍÍ˳öÇåÀí[Èç¹ûÐèÒª³õʼ»¯ºÍÍ˳öÇåÀí]
1 DLLProc[SysUtilsµ¥ÔªµÄÒ»¸öPointer]ÊÇDLLµÄÈë¿Ú¡£ÔÚ´ËÄã¿ÉÓÃÄãµÄº¯ÊýÌæ»»ÁËËüµÄÈë¿Ú¡£µ«ÄãµÄº¯Êý±ØÐë·ûºÏÒÔÏÂÒªÇó[Æäʵ¾ÍÊÇÒ»¸ö»Øµ÷º¯Êý]¡£ÈçÏ£º
procedure DllEnterPoint(dwReason: DWORD);far;stdcall;
dwReason²ÎÊýÓÐËÄÖÖÀàÐÍ£º
DLL_PROCESS_ATTACH:½ø³Ì½øÈëʱ
DLL_PROCESS_DETACH½ø³ÌÍ˳öʱ
DLL_THREAD_ATTACH Ï߳̽øÈëʱ
DLL_THREAD_DETACH Ïß³ÌÍ˳öʱ
ÔÚ³õʼ»¯²¿·Öд:
DLLProc := @DLLEnterPoint;
DllEnterPoint(DLL_PROCESS_ATTACH);
2 ÈçFormÉÏÓÐTdcomConnection×é¼þ,¾ÍUses Activex,ÔÚ³õʼ»¯Ê±Ð´Ò»¾äCoInitialize (nil);
3 ÔÚÍ˳öʱһ¶¨±£Ö¤DcomConnection.Connected := False,²¢ÇÒÊý¾Ý¼¯Òѹرա£·ñÔò±¨µØÖ·´í¡£
ËÄ È«¾Ö±äÁ¿µÄʹÓÃ
ÔÚwidnows 32λ³ÌÐòÖУ¬Á½¸öÓ¦ÓóÌÐòµÄµØÖ·¿Õ¼äÊÇÏ໥ûÓÐÁªÏµµÄ¡£ËäÈ»DLLÔÚÄÚ´æÖÐÊÇÒ»·Ý£¬µ«±äÁ¿ÊÇÔÚ¸÷½ø³ÌµÄµØÖ·¿Õ¼äÖУ¬Òò´ËÄã²»ÄܽèÖúdllµÄÈ«¾Ö±äÁ¿À´´ïµ½Á½¸öÓ¦ÓóÌÐò¼äµÄÊý¾Ý´«µÝ£¬³ý·ÇÄãÓÃÄÚ´æÓ³ÏñÎļþ¡£
Îå µ÷Óþ²Ì¬ÔØÈë
1 ¿Í»§¶Ëº¯ÊýÉùÃû:
1)´óСдÃô¸Ð¡£
2)ÓëDLLÖеÄÉùÃ÷Ò»Ñù¡£
È磺 showform(form:Tform);Far;external'yproject_dll.dll';
3)µ÷ÓÃʱ´«¹ýÈ¥µÄ²ÎÊýÀàÐÍ×îºÃÒ²Óë


Ïà¹ØÎĵµ£º

delphi±à³ÌÀïµÄbool¸úbooleanÀàÐÍÓÐʲôÇø±ð

boolÊÇLongBoolÀàÐÍ¡£
DelphiÖж¨ÒåÁËËÄÖÖ²¼¶ûÀàÐÍ£ºBoolean£¬ByteBool£¬WordBoolºÍLongBool¡£ºóÃæÈýÖÖ²¼¶ûÀàÐÍÊÇΪÁËÓëÆäËûÓïÑÔ¼æÈݶøÒýÈëµÄ£¬Ò»°ãÇé¿öϽ¨ÒéʹÓÃBooleanÀàÐÍ¡£
ÕâËÄÖÖÀàÐ͵IJ¼¶ûÖµÕ¼ÓÃÄÚ´æµÄÊýÁ¿ÈçÏ£º
Boolean 1 Byte
ByteBool 1 Byte
WordBool 2 Bytes£¨1 Word£©
LongBool 4 Bytes£¨2 Words£©
¶Ô ......

Delphi¿Ø¼þ°²×°·½·¨

    ÓÉÓÚ×é¼þÌṩµÄ·½Ê½²»Í¬£¬ËùÒÔ°²×°µÄ·½·¨Ò²ÊDz»Ò»ÑùµÄ£¬ÏÂÃæ¾ÍÄ¿Ç°³£¼ûµÄ¸÷ÖÖÐÎʽµÄ×é¼þµÄ°²×°·½·¨½éÉÜһϡ£ 
    1  Ö»ÓÐÒ»¸öDCUÎļþµÄ×é¼þ¡£DCUÎļþÊDZàÒëºÃµÄµ¥ÔªÎļþ£¬ÕâÑùµÄ×é¼þÊÇ×÷Õß²»Ïë°ÑÔ´Â빫²¼¡£Ò»°ãÀ´Ëµ£¬×÷Õß±ØÐë˵Ã÷´Ë×é¼þÊʺÏDelphiµÄÄÄÖÖ°æ±¾£¬Èç¹û°æ±¾²»¶ ......

Delphi IDhttp »ñÈ¡Cookie

»ñÈ¡post£¬»òÕßget·µ»ØµÄcookie£¬³ýÁ˹ýÂË·µ»ØµÄ×Ö·û´®Ö®Í⣬×î¼òµ¥µÄ·½·¨ÊÇʹÓÃidhttpµÄCookieManagerÊôÐÔ
±ÈÈç»ñµÃIDhttp·µ»ØµÄÈ«²¿Cookie
if idhttp1.CookieManager.CookieCollection.Count > 0 then
for i := 0 to idhttp1.CookieManager.CookieCollection.Count - 1 do
temp := temp + idhttp1.Cooki ......

delphiÖÐregister, pascal, cdecl, stdcall, safecall

×¢£º ʹÓôíÎ󣬻òÕßÔڸüӵĵط½Ã»Óмӣ¬¿ÉÄÜ»á³öÏÖ"privileged instruction"´íÎ󣬻òÕßµØÖ··ÃÎÊ´íÎó¡£
³£¼ûµÄµ÷ÓùßÀýÓÐregister, pascal, cdecl, stdcall, safecall¡£º¯ÊýµÄµ÷ÓùÜÀí¾ö¶¨Á˲ÎÊýÈçºÎ´«µÝ¸ø×Ó¹ý³Ì£¬²¢´Ó¶ÑÕ»ÖÐÍ˳ö£¬ÒÔ¼°¼Ä´æÆ÷ÔÚ²ÎÊý´«µÝÖеÄʹÓ㬴íÎóºÍÒì³£µÄ´¦Àí¡£DelphiÖÐĬÈϵĵ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ