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);
}
Ïà¹ØÎĵµ£º
from : http://zhyhero.googlepages.com/heartset
file:0 ǰÑÔ
±¾ÎĵÄÄ¿µÄÔÚÓÚ²ÉÓÃÁ÷Ë®ÕË·½Ê½À´¼Ç¼ѧϰdelphi·ÃÎÊǶÈëʽÊý¾Ý¿âsqliteÖеÄһЩµãµÎ¡£»¶Ó¸÷λͬºÃ¹²Í¬Ñ§Ï°ºÍÅúÆÀÖ¸Õý¡£
file:1 ×¼±¸¹¤×÷part1
& ......
DELPHIÓõò»Ì«¶à£¬¼ÓÉÏÄԽºÃʹ£¬¾Í¼ÇÒ»ÏÂ×î³£ÓöԿª·¢Ð§ÂʺÜÓаïÖúµÄ¼¸¸ö£º
Ctrl+Êó±ê×ó¼ü£º²éÕÒ¶¨Òå
Ctrl+Shift+↑£ºÉÏÒ»²Ù×÷ÓëÆäÕýºÃÏà·´£¬Óɶ¨Òå²éÕÒʵÏÖ
Ctrl+Shift+¿Õ¸ñ£ºÔÚÒ»¸öº¯ÊýûÓÐÊäÈë²ÎÊýµÄÀ¨ºÅÄÚ°´Ï´˿ì½Ý¼üʱ»á³öÏÖº¯ÊýÏà¹Ø²ÎÊýµÄÌáʾÐÅÏ¢£¬°üÀ¨ÖØÔصÄËùÓк¯ÊýµÄÐÅÏ¢ ......
¾ßÌåÒªÇó£º
1¡¢¼ÆËã»ú¼°Ïà¹Ø×¨Òµ×¨¿ÆÒÔÉÏѧÀú£¬ÓÐ2ÄêÒÔÉϵŤ×÷¾Ñ飻
2¡¢¾«Í¨Delphi²¢ÓÐÔËÓÃDelphi³É¹¦¿ª·¢ÏîÄ¿µÄ¾Ñ飻
3¡¢ÊìÏ¤ÍøÂ翪·¢£¬Óпؼþ¿ª·¢¾ÑéÕßÓÅÏÈ¿¼ÂÇ£»
4¡¢ÊìϤÈí¼þ¹¤³Ì£¬¾ßÓÐÁ¼ºÃµÄ¿ª·¢Ï°¹ß£¬ÄÜÕýȷʹÓð汾¿ØÖƹ¤¾ß£»
5¡¢¾ßÓкÜÇ¿µÄÍŶӺÏ×÷ºÍ³Ô¿àÄÍÀ͵ľ«Éñ£¬¾ßÓÐһ˿²»¹¶µÄ¹¤×÷×÷·çºÍÈÏÕæ¸ºÔðµÄ ......
żȻÀ´ÕÒÒ»¸öÎļþ£¬È´·¢ÏÖÕâÀï¹ØÓÚvc++ºÍDelphiµÄÌÖÂÛºÜÊǼ¤ÁÒ¡£¿´ÁË´ó¼ÒдµÄһЩ
ÎÄÕ£¬¾õµÃÓÐЩ¿´·¨ÕýÈ·£¬ÓÐЩ¾ÍºÜÆ«ÆÄÉõÖÁ´íÎó(Ò²ÐíÎÞÖª£¿ºÜ±§Ç¸ÎÒÕâÑù˵:-)¡£ÎÒ
ÎÞÒâÓëÈκÎÈËÕùÂÛ£¬¸üÔ¸Òâ°ÑÕâ¿´³ÉÊǼ¼ÊõÉϵÄÌÖÂÛ¡£Ó¦¸Ã±¾×Ź«Õý£¬²»´øÆ«¼ûµÄ̬¶È
(Õâ²¢²»Òâζ×Å·ÇҪƽ·ÖÇïÉ«£¬Ò»ÇÐÓ¦ÒÔÊÂʵΪ׼)¡£ÎÒÓùý³ýtp1ÒÔÍâµÄËùÓ ......
Chr ½«Ò»¸öÓÐÐòÊý¾Ýת»»ÎªÒ»¸öANSI×Ö·û
Ord ½«Ò»¸öÓÐÐòÀàÐÍֵת»»ÎªËüµÄÐòºÅ
Round ת»»Ò»¸öʵÐÍֵΪËÄÉáÎåÈëºóµÄÕûÐÍÖµ
Trunc ת»»Ò»¸öʵÐÍֵΪСÊý½Ø¶ÏºóµÄÕûÐÍÖµ
Int ·µ»Ø¸¡µãÊýµÄÕûÊý²¿·Ö
IntToStr ½«Êýֵת»»Îª×Ö· ......