delphiÖÐCreateMutex£¬OpenMutexʹÓÃÒ»Àý
VCÉùÃ÷
HANDLE CreateMutex(
¡¡¡¡LPSECURITY_ATTRIBUTES lpMutexAttributes, // SD
¡¡¡¡BOOL bInitialOwner, // initial owner
¡¡¡¡LPCTSTR lpName // object name
¡¡¡¡);
delphiÉùÃ÷£º
function CreateMutex(lpMutexAttributes: PSecurityAttributes; bInitialOwner: BOOL; lpName: PChar): THandle; stdcall;
´´½¨Ò»¸ö»¥³âÌ壨MUTEX£©
¡¡¡¡·µ»ØÖµ
¡¡¡¡Long£¬ÈçÖ´Ðгɹ¦£¬¾Í·µ»Ø»¥³âÌå¶ÔÏóµÄ¾ä±ú£»Áã±íʾ³ö´í¡£»áÉèÖÃGetLastError¡£¼´Ê¹·µ»ØµÄÊÇÒ»¸öÓÐЧ¾ä±ú£¬µ«ÌÈÈôÖ¸¶¨µÄÃû×ÖÒѾ´æÔÚ£¬GetLastErrorÒ²»áÉèΪERROR_ALREADY_EXISTS
¡¡¡¡²ÎÊý±í ²ÎÊý ÀàÐͼ°ËµÃ÷
¡¡¡¡lpMutexAttributes SECURITY_ATTRIBUTES£¬Ö¸¶¨Ò»¸öSECURITY_ATTRIBUTES½á¹¹£¬»ò´«µÝÁãÖµ£¨½«²ÎÊýÉùÃ÷ΪByVal As Long£¬²¢´«µÝÁãÖµ£©£¬±íʾʹÓò»ÔÊÐí¼Ì³ÐµÄĬÈÏÃèÊö·û
¡¡¡¡bInitialOwner Long£¬Èç´´½¨½ø³ÌÏ£ÍûÁ¢¼´ÓµÓл¥³âÌ壬ÔòÉèΪTRUE¡£Ò»¸ö»¥³âÌåͬʱֻÄÜÓÉÒ»¸öÏß³ÌÓµÓÐ
¡¡¡¡lpName String£¬Ö¸¶¨»¥³âÌå¶ÔÏóµÄÃû×Ö¡£ÓÃvbNullString´´½¨Ò»¸öδÃüÃûµÄ»¥³âÌå¶ÔÏó¡£ÈçÒѾ´æÔÚÓµÓÐÕâ¸öÃû×ÖµÄÒ»¸öʼþ£¬Ôò´ò¿ªÏÖÓеÄÒÑÃüÃû»¥³âÌå¡£Õâ¸öÃû×Ö¿ÉÄܲ»ÓëÏÖÓеÄʼþ¡¢ÐźŻú¡¢¿ÉµÈ´ý¼ÆÊ±Æ÷»òÎļþÓ³ÉäÏà·û
¡¡¡¡×¢½â
¡¡¡¡Ò»µ©²»ÔÙÐèÒª£¬×¢Òâ±ØÐëÓÃCloseHandleº¯Êý½«»¥³âÌå¾ä±ú¹Ø±Õ¡£´ÓÊôÓÚËüµÄËùÓоä±ú¶¼±»¹Ø±Õºó£¬¾Í»áɾ³ý¶ÔÏó
¡¡¡¡½ø³ÌÖÐֹǰ£¬Ò»¶¨ÒªÊÍ·Å»¥³âÌ壬Èç²»É÷δ²ÉÈ¡Õâ¸ö´ëÊ©£¬¾Í»á½«Õâ¸ö»¥³âÌå±ê¼ÇΪ·ÏÆú£¬²¢×Ô¶¯ÊÍ·ÅËùÓÐȨ¡£¹²ÏíÕâ¸ö»¥³âÌåµÄÆäËûÓ¦ÓóÌÐòÒ²ÐíÈÔÈ»Äܹ»ÓÃËü£¬µ«»á½ÓÊÕµ½Ò»¸ö·ÏÆú״̬ÐÅÏ¢£¬Ö¸³öÉÏÒ»¸öËùÓнø³ÌδÄÜÕý³£¹Ø±Õ¡£ÕâÖÖ×´¿öÊÇ·ñ»áÔì³ÉÓ°ÏìÈ¡¾öÓÚÉæ¼°µ½µÄ¾ßÌåÓ¦ÓóÌÐò
º¯Êý¹¦ÄÜ£ºÎªÏÖÓеÄÒ»¸öÒÑÃüÃû»¥³âÌå¶ÔÏó´´½¨Ò»¸öоä±ú
¡¡¡¡º¯ÊýÔÐÍ£º HANDLE OpenMutex(
dwDesiredAccess, // access
¡¡¡¡DWORD
¡¡¡¡ BOOL bInheritHandle, // inheritance option
¡¡¡¡ LPCTSTR lpName // object name
¡¡¡¡ );
delphiÉùÃ÷£º
function OpenMutex(dwDesiredAccess: DWORD; bInheritHandle: BOOL; lpName: PChar): THandle; stdcall;
¡¡¡¡²ÎÊý£º
¡¡¡¡dwDesiredAccess£º
¡¡¡¡MUTEX_ALL_ACCESS ÇëÇó¶Ô»¥³âÌåµÄÍêÈ«·ÃÎÊ
¡¡¡¡MUTEX_MODIFY_STATE ÔÊÐíʹÓà ReleaseMutex º¯Êý
¡¡¡¡SYNCHRONIZE ÔÊÐí»¥³âÌå¶ÔÏóͬ²½Ê¹ÓÃ
¡¡¡¡bInheritHandle : ÈçÏ£Íû×Ó½ø³ÌÄܹ»¼Ì³Ð¾ä±ú£¬ÔòΪTRUE
¡¡¡¡lpName £ºÒª´ò¿ª¶ÔÏóµÄÃû×Ö
¡¡¡¡·µ»ØÖµ£ºÈçÖ´Ðгɹ¦£
Ïà¹ØÎĵµ£º
×î½üÒ»Õó×Ó£¬×ÜÊDZ»Ò»¸öĪÃûÆäÃîµÄbugÀ§ÈÅ¡£×Ô¼ºÐ´µÄocx£¨.net2005£©ÔÚdelphi7Öе÷Óã¬Ã÷Ã÷ûÓÐÊÍ·ÅÖ÷¶¯ÊͷŹýÄڴ棬ȴ±»Á¬ÐøÊÍ·ÅÁËÁ½´Î¡£½á¹û£¬³ÌÐòÍ˳öʱ¾ÍdownµôÁË¡£µ±È»£¬ÕâÊÇÔÚdebugģʽϲŻá³öÏÖ£¬µ«ÊÇexeÅܵÄʱºò»áĪÃûÆæÃîµÄdownµô£¬¶øÇÒ³ö´íÍùÍùÖ¸Ïòocx£¬ÎÒÏëÒ»¶¨ºÍocxµÄµ÷ÓÃÓйء£
ÉÏÍøÕÒÁËpurify£¬boundscheck ......
Delphi
DelphiÕâÊÇÒ»¸öwindows×ÀÃæ±à³ÌÈí¼þ£¬ÏÖÔÚ°æ±¾Óкܶ࣬Ö÷ÒªÓõϹÊÇDelphi7£¬7ÒÔÉϵİ汾¶¼ÐèҪװ.net
¾²Ì¬µ÷ÓúͶ¯Ì¬µ÷Ó㬾²Ì¬µ÷ÓþÍÊÇÖ±½ÓÍù´°ÌåÉÏÍпؼþ£¬¶ø¶¯Ì¬µ÷ÓþÍÊDZàд´úÂëµ÷ÓÿؼþµÄÀàʵÏÖһЩ¹¦ÄÜ¡£
ͨ³£Çé¿ö϶¼ÊÇÕâÁ½ÖÖ·½Ê½Ïà½áºÏµÄʹÓã¬Ëæ×ÅDelphiµÄÉîÈ룬¾Í»á·¢ÏÖÍпؼþ²»ÊÇÍòÄܵģ¬ºÜ¶àʱºò¶¼ ......
(Ò») ʹÓö¯Ì¬´´½¨µÄ·½·¨
Ê×ÏÈ´´½¨ Excel ¶ÔÏó£¬Ê¹ÓÃComObj:
var ExcelApp: Variant;
ExcelApp := CreateOleObject( 'Excel.Application' );
1) ......
×î½ü¿ª·¢³ÌÐòÐèҪʹÓÃTList¹¦ÄÜ£¬×ªÔØ´ËÎÄÕ£¬ÒÔ×÷²Î¿¼¡£
¿´ÁËÕâÀï±êÌ⣬´ó¼Ò¿ÉÄÜÒÔΪÎÒ»á̸TListBox¿Ø¼þ£¬ÄǾʹíÁË¡£ÎÒҪ̸µÄÊÇDelphiÌṩ¸øÎÒÃǵľßÓÐÁбíÐÔÖʵÄÀࣺTstringList¡¢TListºÍTObjectList¡£TstringListÓÃÀ´´æ·Å×Ö·û´®£¬TList´æ·ÅÖ¸Õ룬¶øTObjectListÔò´æ·Å¶ÔÏó(Object)¡£
ÔÚÎÒÃÇʹÓÃDelphi µÄ¹ý³ÌÖУ¬Óкܶà ......
ÓÐÒ»¶Îʱ¼äûÕý¾µÄÓÃdelphiÁË£¬Ç°Á½ÌìÏÂÔØÁËDelphi2010£¬ÓÃËüÀ´ÕÒÕÒDelphiµÄ¸Ð¾õ£¬°ÑдµÄһЩ¶«Î÷¹²Ïí³öÀ´£¬´ó¼Ò¹²Í¬Ñ§Ï°Ò»Ï£¬ºÇºÇ¡£
ÎÒÏë×öÒ»¸ö˫ɫÇòµÄ·ÖÎöÈí¼þ£¬ÒÔÏÂÊÇÆäÖÐʵÏֵIJ¿·ÖÀàµÄµ¥ÔªÎļþ£¬ÆäËûÎļþºóÐøÒ»µãÒ»µãµÄ²¹Æë£¬Óв»Í׵ĵط½£¬Ï£Íû´ó¼ÒÖ¸Õý£¬Ð»Ð»À²£¡
ÔÚʹÓÃDelphi2010ÊÇ£¬·¢ÏÖ¸öÎÊÌ⣬ÔÚÓÃshowº¯Êý ......