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);
}
Ïà¹ØÎĵµ£º
ÔÚDelphiÖÐ,Inifilesµ¥ÔªÖÐÓÐÒ»¸öTStringHashµÄÀ࣬²»¹ýËüµÄValue½öÖ§³ÖInteger(ÆäʵҲ²»ÊÇÎÊÌ⣬ÓÐÆäËüÀàÐÍ¿ÉÒÔ½«±äÁ¿±äΪPointer)£¬ÓÐµã²»Êæ·þ£¬½ñÌìûÊÂ×ö¾Í°ÑËüÌæ»»ÎªvariantÁË£¬ÆäÖÐKeyµÄÃû³Æ´óСдÎ޹أ¬¾ÍÊÇΪÁ˼ӿ쿪·¢ËÙ¶È£¡
ʹÓÃHashtable,²éÕÒºÍɾ³ý¸´ÔӶȶ¼Êdz£Êý¼¶±ðµÄ!
type
PPHashItem = ^PHashItem;
......
¡¡¡¡DelphiÓïÑÔ£¬ÎÞÂÛÊÇ´Ó¿ª·¢ËÙ¶È¡¢»¹ÊÇÔËÐÐËÙ¶È¡¢»¹ÊDZàÒëËÙ¶È¡¢»¹ÊDZàÒëÖ®ºóµÄÖ´ÐÐÎļþÌå»ý£¬¶¼ÊÇÊýÒ»Êý¶þµÄ¡£Òò´Ë±»×÷Ϊ¹²ÏíÈí¼þ¡¢¿ª·¢²úÆ·¡¢ÖÆ×÷“ÂÌÉ«Èí¼þ”µÄÊ×Ñ¡¡£µ«ÊÇ£¬ÓÉÓÚÖî¶àÔÒò£¬DelphiÖУ¬ÓÐһЩ¿Ø¼þ£¬´æÔÚһЩbug¡£²»ÂÛ¹ã´ó¼¼ÊõÈËÔ±ÈçºÎ·´Ó¦£¬Delphi¹Ù·½¾ÍÊÇ“ÊÓ¶ø²»¼û”¡£ÓÐÎÊÌ⣬È˼ ......
¼¼Êõ½»Á÷,DH½²½â. ½ñÌì½øÈëÕâÊéµÚ¶þÕ ¹³×Ó(HOOK).
ÏÈ˵˵¹³×ÓÊÇʲô?
¹³×ÓÆäʵ¾ÍÔÚÄã»·¾³ÖмÓÉÏÒ»²ã¹ýÂË,ÔÚÌØÊâÇé¿öϾʹ¥·¢¹³×ӻص÷º¯Êý.
±ÈÈç˵ÎÒÃǰ²×°ÁËÈ«¾ÖµÄ¼üÅ̹³×Ó,ÄÇôµ±ÎÒÃǰ´¶¯¼üÅÌÉÏÃæµÄ¼üµÄʱºò,¹³×ӵĻص÷º¯Êý¾Í»á´¥·¢.
ÎÒÃÇÒ²ÄÜ¿´µ½±¾À´ÊÇÖ±À´Ö±ÍùµÄ,½á¹ûÏÖÔÚÖм䰲װÁËÒ»²ã¹ýÂË,Ï ......
¾ßÌåÒªÇó£º
1¡¢¼ÆËã»ú¼°Ïà¹Ø×¨Òµ×¨¿ÆÒÔÉÏѧÀú£¬ÓÐ2ÄêÒÔÉϵŤ×÷¾Ñ飻
2¡¢¾«Í¨Delphi²¢ÓÐÔËÓÃDelphi³É¹¦¿ª·¢ÏîÄ¿µÄ¾Ñ飻
3¡¢ÊìÏ¤ÍøÂ翪·¢£¬Óпؼþ¿ª·¢¾ÑéÕßÓÅÏÈ¿¼ÂÇ£»
4¡¢ÊìϤÈí¼þ¹¤³Ì£¬¾ßÓÐÁ¼ºÃµÄ¿ª·¢Ï°¹ß£¬ÄÜÕýȷʹÓð汾¿ØÖƹ¤¾ß£»
5¡¢¾ßÓкÜÇ¿µÄÍŶӺÏ×÷ºÍ³Ô¿àÄÍÀ͵ľ«Éñ£¬¾ßÓÐһ˿²»¹¶µÄ¹¤×÷×÷·çºÍÈÏÕæ¸ºÔðµÄ ......
OracleÐÔÄÜÓÅ»¯ÓëDelphi´úÂë
¸ÕѧÁ˵ãoracle·½ÃæµÄ֪ʶ£¬¸Ð¾õÒÔǰд´úÂëֻƾϲºÃд£¬ÍêȫûÓÐÉԵÓÉ£¬µ¼ÖÂÔÚÄÚÐÐÈË¿´À´£¬Ð´µÄ¶¼ÊÇÀ¬»ø´úÂ룬ÏÖÔھͰÑѧµ½µÄһЩ¶«Î÷д³öÀ´£¬Ò²ËãÊǸø¸ÕÈëÃŵÄÅóÓÑÒ»µã°ïÖú°É¡£
ÒÔǰ£¬Ð´Êý¾Ý¿â·ÃÎÊ´úÂ룬¸Ð¾õºÜ¼òµ¥£¬²»¾ÍÊÇsqlÓï¾äÂËùÒÔʲôÓï¾ä¶¼ÊÇÕâÑùд£º
A£º
......