VCÖе÷ÓÃDelphiµÄDLLÖеĻص÷º¯ÊýÀý×Ó
//Delphi²¿·Ö
//»Øµ÷º¯Êý¶¨Òå
type TOnMyCallBack = procedure(data:pchar; id:Integer);stdcall;
//DLLÖеĵ¼³öº¯ÊýÉùÃ÷
procedure StartCall(param: TOnMyCallBack(data:pchar; id:Integer);stdcall;
begin
...
...
end;
-----------------------------------------------------------------------------------------------------------------------------
//vcµ÷Óò¿·Ö
typedef void (CALLBACK *MY_CallBack)(void *, char *data, int id);
void CALLBACK cxxGetDllData(void *data, int id)
{
CString ss;
ss.Format("%s:%d", data, id);
::MessageBox(NULL, "ÊÕµ½Êý¾Ý:", ss, MB_OK | MB_ICONWARNING);
}
void CTttDlg::OnOK()
{
//¶¯Ì¬¼ÓÔØDLLµ½µ±Ç°EXEµÄ½ø³Ì¿Õ¼ä
HINSTANCE hDll = LoadLibrary("d:\\temp\\test.dll");
if(!hDll)
{
:MessageBox(NULL, "¼ÓÔØ¶¯Ì¬Á´½Ó¿âʧ°Ü£¡", "Notice", MB_OK | MB_ICONWARNING);
return ;
}
MY_CallBack hStartCall = (MY_CallBack) ::GetProcAddress(hDll, "StartCall");
if(!hStartCall)
{
::MessageBox(NULL,"»ñÈ¡StartCallº¯ÊýµØÖ·´íÎó£¡","Notice",MB_ICONWARNING);
return ;
}
hStartCall(cxxGetDllData,"123456",100);
}
Ïà¹ØÎĵµ£º
ÔÎIJμû£º http://blog.csdn.net/ingener/archive/2007/12/22/1958535.aspx
¹ØÓÚDelphiÖÐDLL·â×°¶ÔÏóµÄ¼¸ÖÖ·½·¨ÕûÀí¼°Ìå»á
DelphiÓÃDLLÀ´·â×°¶ÔÏóµÄ¼¼ÊõÖ÷ÒªÓÐÈýÖÖ:
ÓýӿÚʵÏÖ
Óô¿ÐéºÍ³éÏóÀà·½·¨ÊµÏÖ
ÓÃÀàÒýÓÃʵÏÖ
ǰÁ½ÖÖ£¬¶¼ÊÇÔÚDLLÖÐÉú³ÉÀàʵÀý£»µÚ3ÖÖͨ¹ýÔÚµ÷Ó÷½Éú³ÉʵÀý¡£ÈýÖÖ·½·¨µÄ¹²Í¬¾ÖÏÞÈçÏ£º ......
¼¼Êõ½»Á÷,DH½²½â. IOCompÊÇÒ»Ì×ÓÃÓÚ¹¤ÒµµÄͼÐλ¯¿Ø¼þ.
¿´ÏÂÔõôÔÚD2010ÏÂÃæ°²×°°É.Ê×ÏÈÏÂÔØµØÖ·,À´Ö® ºÐ×Ó,Download Here ½âѹËõºó,ÐèÒª×öµÄ²½Öè:
1 Ìí¼Ólib path
Tools –> Options –> Delphi Options
½«ÄãµÄ½âѹËõĿ¼Ìí¼Ó½øÀ´.
2 ɾ³ýÏà¹ØPNGµ¥Ôª.
ÒòΪ2010ÖÐ ......
µ±A D O¿ªÊ¼´¦ÀíÊý¾Ýºó£¬Ó¦ÓóÌÐò±ØÐëµÈµ½A D O´¦ÀíÍê±ÏÖ®ºó²Å¿ÉÒÔ¼ÌÐøÖ´ÐС£µ«
ÊdzýÁËͬ²½Ö´Ðз½Ê½Ö®Í⣬ A D OÒ²ÌṩÁËÒì²½Ö´Ðеķ½Ê½£¬ÔÊÐíµ±A D O´¦Àíʱ£¬
Ó¦ÓóÌÐòÈÔÈ»Äܹ»ÏȼÌÐøÖ´ÐС£¶øµ±A D O´¦ÀíÊý¾ÝÍê±ÏÖ®ºó£¬ A D O»áÒÔʼþµÄ·½
ʽ֪ͨӦÓóÌÐò£¬´ËʱӦÓóÌÐò¿ÉÒÔÔÙ¸ù¾ÝA D OÖ´ÐÐµÄ ......
Chr ½«Ò»¸öÓÐÐòÊý¾Ýת»»ÎªÒ»¸öANSI×Ö·û
Ord ½«Ò»¸öÓÐÐòÀàÐÍֵת»»ÎªËüµÄÐòºÅ
Round ת»»Ò»¸öʵÐÍֵΪËÄÉáÎåÈëºóµÄÕûÐÍÖµ
Trunc ת»»Ò»¸öʵÐÍֵΪСÊý½Ø¶ÏºóµÄÕûÐÍÖµ
Int ·µ»Ø¸¡µãÊýµÄÕûÊý²¿·Ö
IntToStr ½«Êýֵת»»Îª×Ö· ......
ADO ʹÓà ORACLE provider FOR OLE DB Çý¶¯Ê±
µ÷Óô洢¹ý³ÌÐèÒª·µ»ØÓαêʱ£¬ÔÚÁ¬½Ó×Ö·û´®ÖÐÔö¼Ó
PLSQLRSet=1 ²ÎÊý¡£
´æ´¢¹ý³ÌÖеÄÓα겻ÐèÒª¸¶³õʼֵ
Èç:
sp1: TADOStoredProc;
sp1.Close;
sp1.ProcedureName := 'pkg_ScanList_By_JobNo.sp_GetScanList';& ......