动态库接口问题
是这样的:我写了一个dll,在exe内调用它的接口时,一直报错。
请大家帮忙看看,问题可能出在哪?
dll内是这样的:
extern "C" _declspec(dllexport) void Upload(CString& strBatch, CString& strVersion, THREADDATA* pData, BOOL bReUpload)
//extern "C" _declspec(dllexport) void Upload(CString strBatch, CString strVersion, THREADDATA* pData, BOOL bReUpload=FALSE)
{
CDmObject *pDmObj = CDmObject::Instance();
if( pDmObj ){
try{
pDmObj->Upload(strBatch, strVersion, pData, bReUpload);
}
catch(...){
}
}
}
class CDmObject
{
private:
static CDmObject* __instance;
public:
CDmObject();
~CDmObject();
static CDmObject* Instance();
private:
BOOL LoadMetaData(CString& strBatch,CString& strVersion,CEcmProcess *pEcmPro);
BOOL IsBatchExpired(int nStatus);
BOOL IsCheckOutTimeOut(CString strLastTime);
int CheckInBySocket(LPCSTR lpBatch);
BOOL GetConfigValue();
public:
};
//THREADDATA* pData;
THREADDATA* pThreadData=new THREADDATA;
CoInitialize(NULL);
(*m_fnUpload)(strBatch, strVersion, pThreadData, bReUpload); //这一步报错,提示“0x7c92100b 处最可能的异常: 0xC0000005: 读取位置 0x00000034 时发生访问冲突”
CoUninitialize();