Delphi·Ö½âÄ£¿éµÄ¼¼Êõ
ÖÚËùÖÜÖª£¬ÏµÍ³ÐèÒª½øÐжàÈ˲¢Ðпª·¢Ê±£¬Ó¦¸Ã°Ñϵͳ·Ö²ð³É¶ÀÁ¢µÄÄ£¿é£¬ÕâÑù²ÅÄܱÜÃ⿪·¢³åÍ»¡£µ«ÈçºÎ½øÐзֲðÄØ£¿ÔÚDelphiϵͳÖУ¬ÓкܶàÖÖ·½·¨£¬ÏÂÃæÀ´½øÐÐÒ»Ò»½éÉÜÓë·ÖÏí¡£
1.°ÑÄ£¿é²ð·Ö³É°ü(dpk)£¬Ö±½ÓÔÚÖ÷³ÌÐòÖÐͨ¹ýLoadPackageº¯Êý°Ñ°ü×°ÔØ½øÀ´¼´¿É¡£²»¹ýÕâÖÖ·½·¨Ò²ÓÐЩ²»±ã£¬ËùÓеÄÀà±ØÐë¼Ì³Ð×ÔTPersistentClass£¬²¢ÇÒRegisterClassÖ®ºó²ÅÄܱ»GetClass´ÓÖ÷³ÌÐò»ñÈ¡£¬ÕâÑù²Ù×÷Ò²ÊDZȽÏÂé·³µÄ¡££¨²»ÍƼöʹÓã©
2.°ÑÄ£¿é²ð·Ö³ÉDLL£¬±àÒëʱ²»´ø°ü±àÒ루ÎÊÌ⣺ÓÉÓÚÀàÔÚ¶ÀÁ¢µÄ¿Õ¼ä£¬Ê¹ÓÃÍⲿ°üʱ£¬ÈÝÒײúÉúÀ಻¼æÈݵÄÎÊÌ⣬ÔÚDLLÖÐÅжÏÀàÊÇ·ñ¼Ì³Ð×ÔÖ÷exeÖеĶÔÏóÊDz»Ðе쬶øÕâÖÖÐèÇóÓÖ¾³£³öÏÖ£¬Òò´Ë²»ÍƼöʹÓÃÕâÖÖ·½Ê½¡££©
3.°ÑÄ£¿é²ð·Ö³ÉDLL£¬±àÒëʱ´ø°ü±àÒ루ÔÚproject->Options->PackagesÖаÑBuild with runtime packagesÑ¡ÉÏ£©£¬È»ºó°ÑÐèÒªµÄ°ü´ø½øÈ¥¼´¿É£¬Ö÷³ÌÐòÒ²ÊÇ´ø°ü±àÒ룬ÕâÑùÖ÷³ÌÐòÓëDLL¾Í»áʹÓù²Í¬µÄÀà·ÖÅä±í¿Õ¼ä£¬¶ÔÏàͬµÄÀà¾Í¿ÉÒÔ½øÐмæÈÝÅжÏÁË£¬ÕâÑù¾Í¿ÉÒÔʹÓÃDLLÖм̳Ð×Ô¹«¹²°üÖеĻùÀàÀ´ÊµÏÖ¹¦ÄÜÁË£¬ÁíÍâÕâÑù»¹¿ÉÒÔ±ÜÃâºÜ¶àÎÊÌ⣬ÈçʹÓõÚÈý·½¿Ø¼þ²úÉúµÄÆæ¹ÖÎÊÌ⣬DLL½¨Á¢µÄ×Ó´°¿ÚÎÞ·¨ÔÚÖ÷´°¿ÚÖГ´æ»î”µÄÎÊÌ⣬µÈµÈ¡£
4.°ÑÄ£¿é²ð·Ö³É´ø¹«¹²°üµÄDLL»òdpk£¬°Ñ»ùÀà²ðµ½¹«¹²°üÖУ¬¹«¹²°üÖаüº¬È«¾Ö±äÁ¿£¬ÔÚDLL»òdpkÖпÉÒÔʹÓÃinitilization¶ÔÈ«¾Ö±äÁ¿½øÐгõʼ»¯£¬²»ÐèÒª´«µÝÈκβÎÊý£¬ÕâÑù¾Í¿ÉÒÔʵÏְѽӿÚÀàºÍÈ«¾Ö±äÁ¿·ÅÔÚ¹«¹²°üÖУ¬¾ßÌåʵÏÖÀàÖ±½ÓÒýÓù«¹²±äÁ¿µÄ·½°¸£¬²»¹ýʹÓÃÕâÖÖ·½Ê½Ê±£¬½Ó¿ÚµÄµÝÔöʽ¿ª·¢Òª×¢ÒâµÄÊǹÜÀíÎÊÌâ¡£
ÓÐÈËÖ÷ÕÅÔÚ¿ª·¢Ç°¾Í»¨±È½Ï³¤µÄʱ¼ä°Ñ½Ó¿ÚÉè¼ÆºÃ£¬²»¹ýÕâÖÖ“ÀíÏë”Çé¿öÖ»ÓÐÔÚÀíÏë¹ú¶ÈÄڲſÉÄܳöÏÖ£¬²»ÐèÒªÐ޸ĵĽӿÚÉè¼ÆÊDz»¿ÉÄܵġ£²»¹ý×îÖ÷ÒªµÄÊÇÉè¼ÆºÃÒ»¸ö¹µÍ¨Á÷³Ì£¬ÕâÖÖ¹µÍ¨»úÖÆÈçºÎ½¨Á¢ÄØ£¿²»Í¬µÄ¿ª·¢ÍŶÓÓв»Í¬µÄʵÏÖ»úÖÆ£¬ÇëÓÐÐËȤµÄÅóÓÑÒ»ÆðÀ´¿´¿´ÏÂÖܵÄÉè¼Æ¹¦ÄÜÌÖÂÛ¡£
Ïà¹ØÎĵµ£º
ÔÚDelphiÓ¦ÓóÌÐòÖÐʹÓÃDLL
¡¡¡¡Delphi²»½ö¿Éµ÷ÓÃC£«£«²úÉúµÄDLLÄ£¿é£¬Í¬ÑùC£«£«³ÌÐòÒ²¿Éµ÷ÓÃDelphiËù²úÉúµÄDLL²¿¼þ¡£ÕâÑù½»»¥µ÷Óã¬ÎÞÐëÖØ¸´¿ª·¢£¬´ó´óËõ¶ÌÁËÉú²úÖÜÆÚ¡£
¡¡¡¡DelphiÓëVisualBasic¡¢VisualFoxProµÈÈí¼þÒ»Ñù£¬ÊôÓÚRAD¹¤¾ß£¨¿ìËÙÓ¦Óÿª·¢¹¤¾ß£©¡£ÊʺϿª·¢32λ»ò16λ£¯32λ»ìºÏÓ¦ÓóÌÐò¡£DelphiËùÊ¹Ó ......
Client:TSocketConnection ºÍServer: Scktsrvr¹ØÏµ----ѹËõÊý¾Ý´«Êä
Ò»Ö±ÓÃSocketConnectionºÍ·þÎñ¶ËµÄ´«ÊäÊý¾ÝÔÚÈý²ãÊý¾Ý¿âÖУ¬´ÓÀ´Ã»ÓÐ×¢Òâµ½ËüÃÇÖ®¼äµÄÊý¾Ý´«Ê䣬ֻÊÇÏë×Å£¬¹ÜËüÁË£¬ÍøÂçµÄÊ£¬Ç°¶Îʱ¼äÔÚDelphiÖеÄDemosÖз¢ÏÖDemos\Midas\Intrcpt.dprÀý×Ó£¬ºÇºÇ£¬ÔÙ¿´Á˰ëÌìµÄVCL·¢ÏÖ¿ÉÒÔ½«Client¶Ë·¢Ë͵ĸøServerµÄÊ ......
×¢£º ʹÓôíÎ󣬻òÕßÔڸüӵĵط½Ã»Óмӣ¬¿ÉÄÜ»á³öÏÖ"privileged instruction"´íÎ󣬻òÕßµØÖ··ÃÎÊ´íÎó¡£
³£¼ûµÄµ÷ÓùßÀýÓÐregister, pascal, cdecl, stdcall, safecall¡£º¯ÊýµÄµ÷ÓùÜÀí¾ö¶¨Á˲ÎÊýÈçºÎ´«µÝ¸ø×Ó¹ý³Ì£¬²¢´Ó¶ÑÕ»ÖÐÍ˳ö£¬ÒÔ¼°¼Ä´æÆ÷ÔÚ²ÎÊý´«µÝÖеÄʹÓ㬴íÎóºÍÒì³£µÄ´¦Àí¡£DelphiÖÐĬÈϵĵ ......
Ò» DllµÄÖÆ×÷Ò»°ã²½Öè
¶þ ²ÎÊý´«µÝ
Èý DLLµÄ³õʼ»¯ºÍÍ˳öÇåÀí[Èç¹ûÐèÒª³õʼ»¯ºÍÍ˳öÇåÀí]
ËÄ È«¾Ö±äÁ¿µÄʹÓÃ
Îå µ÷Óþ²Ì¬ÔØÈë
Áù µ÷Óö¯Ì¬ÔØÈë
Æß ÔÚDLL½¨Á¢Ò»¸öTForM
°Ë ÔÚDLLÖн¨Á¢Ò»¸öTMDIChildForM
¾Å ʾÀý£º
Ê® DelphiÖÆ×÷µÄDllÓëÆäËûÓïÑԵĻìºÏ ......
delphiÖÐSynchronizeÕâ¸ö¶«¶«ÓÐʲôÓã¿ÎÒÖªµÀÊÇÏß³Ìͬ²½Ê¹ÓõÄ
ÊÇ·ñÊÇÒ»¸öº¯Êý»ò±äÁ¿£¬µ±Ò»¸öÏß³ÌÔÚʹÓÃʱ£¬Èç¹ûÕâ¸öº¯ÊýʹÓÃÁËSynchronizeÐÞîߵϰ¾Í²»ÔÊÐí±ðÒ»¸öÏß³ÌÀ´µ÷ÓÃÕâ¸öº¯Êý
1Â¥£º±ðµÄÏ̻߳áµÈ´ý¸Ã²Ù×÷Íê³Éºó²ÅÄܼÌÐø
2Â¥£ºÄã˵µÄ»ù±¾ÊÇÕâ¸öÒâ˼¡£ËüµÄÄ¿µÄÊDZÜÃâ¶à¸ö×ÓÏß³Ìͬʱ·ÃÎÊÖ÷Ïß³Ì×ÊÔ´¡£
ʾÀý£º
......