VCDLLÒѾ´´½¨ºÃ¡£
ÎÒ½¨ÁËÒ»¸öÀà
´óÖ´úÂëÈçÏÂ
C/C++ code:
typedef class ZHallAPI
{
public:
virtual int GetVersion() = 0;
virtual int Prepare() = 0;
virtual int UnPrepare() = 0;
virtual int Connect(char* szIPAddr, unsigned short usIPPort) = 0;
virtual int DisConnect() = 0;
virtual int ClientLogin(const LPCLIENTLOGIN lpClientLogin, LPCLIENTLOGINRST lpClientLoginRst, char* szErrInfo) = 0;
} HALLAPI, *LPHALLAPI;
LPHALLAPI __stdcall GetHallApi();
LPHALLAPI __stdcall GetHallApi()
{
static ZClientInstance Instance;
return &Instance;
}
int ZClientInstance::MyPrepare()
{
int iRet(0);
if(this->bPrepared)
{
return T_OK;
}
this->lpClientAPI = GetClientAPI();
iRet = this->lpClientAPI->Prepare();
if(Z_OK != iRet)
{
return ERR_TP_CLIENT_ERROR;
}
this->bPrepared = true;
return T_OK;
}
int ZClientInstance::Prepare()
{
int iRet =this->MyPrepare();
if(T_OK != iRet)
{
this->UnPrepare();
}
return iRet;
}
int ZClientInstance::GetVersion()
{
//return this->API_VERSION;
return 123;
}
.......................
¸ÃdllÔÚvcϵ÷ÓòâÊÔͨ¹ý£¬ÔÚdelphiÖвâÊÔµ÷Ó㬻ᱨµØÖ·Òì³£
ÄãÃÇÓöµ½Õâ¸öÎÊÌâÂð£¿Ê¹ÓÃdelphi µÄʱºò£¬À´ÁËÒ»·âÐÅ¡£ËµÒªÎҽ̰æÈ¨·Ñ¡£Îһ赹¡£Ôõô°ì£¿
²»ÄÜÔõô°ì,Ò»ÊÇÀíËûÃÇ 2ÊDz»ÀíËûÃÇ
Äã·Å»°½ÐËûÃÇÀ´¹«Ë¾²é¡£¡£¡£¿´ËûÃÇÓе¨Ã»£¿
²»ÀíËûÃǾÍÊÇ£¬µ±Ê±Ò²ÎÊÎÒÃǹ«Ë¾ÒªµÄ ......
ÏÖÓÐparadoxÊý¾Ý¿âʹÓÃBDEÇý¶¯£¬Äâ¸ÄΪC/S°æ£¬Ôö¼ÓÍøÂç¶ÁÈ¡Êý¾Ý¹¦ÄÜ¡£ÇëÄÄλ´óÏÀ£¬ÌṩԴÂë¡£
˵¾ä²»¿ÍÆøµÄ»°£¬ÓÃparadox×öC/SÊÇ×ÔѰËÀ·¡£
»»Ò»¸öÍøÂçÊý¾Ý¿â
ÒòΪ²»Ï붯´óÊÖÊõ£¬½öÄܹ²Ïí¼¸¸öÎļþ¼´¿É¡£
Da ......