delphiµ÷ÓÃdllÎÊÌâ,300·ÖÈ«²¿ËÍÉÏ¡£
ÎÒÓÃdelphiµ÷ÓÃÒ»¸öVC++µÄdll
Õâ¸ödLLÎÒûÓÐÔ´Âë¡£´óСд¾ø¶ÔÕýÈ·
dllÀïÃæµÄÒ»¸öCloseCommPortº¯Êý£¬dll˵Ã÷˵ÀïÃæÓУ¬ËµÃ÷ÈçÏ£º
5¡¢CloseCommPort
VOID PASCAL CloseCommPort(HANDLE hCom)
¹¦ÄÜ˵Ã÷£º¹Ø±ÕÖ¸¶¨µÄͨÐŶ˿ڡ£
²ÎÊý˵Ã÷£º
·µ»ØÖµ£ºÎÞ
Ïà¹Øº¯Êý£º
ÎÒÓÃeeXeScope²é¿´Ò²ÓÐÕâ¸öº¯Êý
µ«ÊÇÎÒ¶¯Ì¬,¾²Ì¬µ÷ÓÃCloseCommPortÕâ¸öº¯Êý¶¼»á±¨ÄÚ´æ´íÎó
¶¯Ì¬µ÷ÓÃ
Fun3 := GetProcAddress(FHandle,'CloseCommPort')
if Assigned(Fun3) then
Assigned(Fun3)·µ»ØÎªfalse
Ò²¾ÍÊÇ˵²¢Î´¼ÓÔØµ½´Ëº¯Êý¡£
ÕâÊÇÎªÊ²Ã´ÄØ£¿
ÏÂÃæÊÇÎÒдµÄdelphi´úÂë £¬ËÄܰïÎÒ½â¾öÎÒ»á300·ÖËÍÉÏ
TFun1=function(lpszPortNum: LPCSTR;dwBaudRate: DWORD): DWORD; stdcall;
TFun2=procedure(hCom: Thandle); stdcall;
TFun3=function(DevNo: LPCSTR;var pAbout: LPSTR): DWORD ; stdcall;
Var FHandle: THandle;
Fun1: TFun1; //´ò¿ª¶Ë¿Ú
Fun2: TFun3; //¶ÁÈ¡°æ±¾ÐÅÏ¢
Fun3: TFun2; //¹Ø±Õ¶Ë¿Ú
DevNo: LPCSTR;
pAbout: LPSTR;
begin
FHandle := LoadLibrary('168netcom.dll');
try
if FHandle>0 then
begin
Fun1 := GetProcAddress(FHandle,'OpenCommPort'); //´ò¿ª¶Ë¿Ú
if Assigned(Fun1) t
Ïà¹ØÎÊ´ð£º
Õâ¸öÊÇÀ¹½Ø°´¼üÏûÏ¢²¢²âÊÔÊÇ·ñΪENTER¼ü¡£
begin
case wParam of
WM_KEYDOWN:
fEatKeystroke := (p.vkCode = VK_RETURN);
& ......
ÎÒ°²×°µÄÊÇÆóÒµ°æ¡£¡£¡£
ÎÒÎÊÏ£¬ CTRL+×ó¼ü Äܲ鿴 windows.pas Âð£¿
¾ÍÊÇ ½Ó¿ÚÀïµÄwindows¡£
µ±È»¿ÉÒÔ,CTRL+×ó¼üµã»÷Interface²¿·ÖµÄWindows¾Í¿ÉÒÔÁË
ɶɶÆóÒµ°æ£¿È¥°²×°Ä¿Â¼¿´¿´libÎļþ¼ÐÏÂÓÐÃ»Ó ......
ÕâÓïÑÔºÃÄѰ¡ ѧdelphi¼òµ¥ ¿Þ
Ò»¸ödll ºÍÒ»¸ö Ö¸Õ뺯Êýµ÷Óà ¸ãÁËÎÒ2Àñ°Ý »¹ÊÇÔÚÎÒÓÐdelphi»ù´¡µÄÇé¿öÏ ¿Þ
ÄÑ¶È ±È delphi ¸ßºÜ¶à¡£¼ÌÐøÅ¬Á¦Ñ§°¡¡£
ºÃÏñÒ²²¢²»±ÈdelphiÄѶàÉÙ°É
Ö÷Òª´úÂë ²»Ö±¹ÛÁË¡ ......
Á½¸öÔÂǰ£¬¿ªÊ¼ÕÐÆ¸Delphi³ÌÐòÔ±£¬ÕÐÆ¸Ç°ËæÊÖдÁ˼¸µÀÌ⣬ÓÃÀ´±ÊÊÔ¡£
µ½ÏÖÔÚ»¹Ã»ÓÐÕе½ÈË£¬ºÜÎÞÄΣ¬±ê×¼ÉõÖÁ½µµ½Ö»ÒªÄÜ×öµÚ1¡¢3¡¢5Ìâ¾Í¼ÓõÄˮƽ¡£½á¹û¾¹È»Ã»ÓÐÈËÄܹ»½«Õâ3Ìâ¶¼´ð¶Ô¡£ºÜ¶àÈËÁ¬str ......
DBGridÁ¬½ÓÊý¾Ý¿âÎļþ£¬ÔÚQueryµÄCachedUpdateΪFalseµÄʱºòÒ»Çж¼Õý³££¬²åÈ룬ɾ³ý
µ±ÎÒ°ÑCachedUpdate¸ÄΪTrueʱ£¬²åÈë±í¾Í»áÌáʾ"Table is not indexed"£¬Èç¹û½¨Á¢Ö÷¼üË÷Òý¾Í¿ÉÒÔÁË£¬µ«ÊÇÎÒµÄÊý¾Ý±í ......