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);
}
Ïà¹ØÎĵµ£º
Chr ½«Ò»¸öÓÐÐòÊý¾Ýת»»ÎªÒ»¸öANSI×Ö·û
Ord ½«Ò»¸öÓÐÐòÀàÐÍֵת»»ÎªËüµÄÐòºÅ
Round ת»»Ò»¸öʵÐÍֵΪËÄÉáÎåÈëºóµÄÕûÐÍÖµ
Trunc ת»»Ò»¸öʵÐÍֵΪСÊý½Ø¶ÏºóµÄÕûÐÍÖµ
Int ·µ»Ø¸¡µãÊýµÄÕûÊý²¿·Ö
IntToStr ½«Êýֵת»»Îª×Ö· ......
ÔÚÍøÉÏÒ²¿´µ½ÁËһЩÌáÉý½ø³ÌÁîÅÆµÄº¯Êýµ«¶¼²»ÔõôºÃÓÃ,×îºóÎÒ»¹ÊÇ´ÓÒ»¸öºÚ¿ÍºóÃųÌÐòµÄÔ´´úÂëÖÐÌáÈ¡³öÁËÒ»¸öºÃµÄÌáÉý½ø³ÌÁîÅÆµÄº¯Êý,²»¸Ò¶ÀÏí,¸ú´ó¼Ò·ÖÏíÏÂ.ÄǸöºóÃÅÕæµÄдµÄºÜºÃ...
HysiaÌáʾÄã:
Õâ¸öº¯ÊýÓÃÔÚ¶Ô¸¶²¡¶¾µÄ³ÌÐòÖÐЧ¹ûºÜºÃ,Ö»ÓÐÌáÉý×ÔÉíȨÏÞ²ÅÄÜKILLµô²¡¶¾½ø³ÌÎÒÔøÐ´Ð´³öÀ´³¢ÊÔ½áÊøWinlogon½ø³Ì,µ¼ÖµĽṠ......
£®pas ---- pascalµÄËõд, µ¥ÔªÔʼ³Ìʽµµ£¨ unit source files £©
£®dpr ---- ר°¸µµ ( project files )
£®dpk ---- °ü¹üÔʼ³Ìʽµµ/×é¼þ°ü ( package source files )
£®dfm ---- ±íµ¥µµ (¼Ç¼formµÄÄÚÈÝ,³ýÈ¥Õâ¸öÄÚÈݾ͵ÈÓÚɾ³ýÁËformÕâ¸ö±íµ¥)
£®dcu ---- ÊDZàÒëºÃµÄµ¥ÔªÎļþ.ÈôÖ»ÓÐÒ»¸ödcuÎļþ,Ôò²»ÄÜ¿´µ½Ô´´úÂë.
......
½ñÌìÐÄѪÀ´³±ÔÚ×Ô¼ºµÄµçÄÔÉϰ²×°ÁËmysql-5.1.41-win32ºÍmysql-connector-odbc-5.1.6-win32¡£ÒÔǰ£¬ÎÒÔø¾³¢ÊÔʹÓãģţ̣Уȣɣ¶È¥Áª½Ó£Í£Ù£Ó£Ñ£Ìµ«ÊÇÔÚÍøÉÏÕҺܶà×ÊÁ϶¼²»ºÜºÃÓ㻽ñÌìͻȻҲÏëÆðÕâ¸öÎÊÌâ¾Í¸ÉÆð»ØÀ´ÁË¡£
¡¡¡¡£±.¡¡½¨Á¢Êý¾Ý¿â
¡¡¡¡¡¡¡¡use mysql;
¡¡¡¡¡¡¡¡drop database myDB;
¡¡¡¡¡¡¡¡create database ......