一个包含了drawpoly的dll,本来以为是可以直接用就可以的。结果在vs2005里面调用的时候总是报告找不到object.一路跟踪到arccore.cpp的CRuntimeClass* PASCAL CRuntimeClass::FromName(LPCSTR lpszClassName)函数中,
for (CDynLinkLibrary* pDLL = pModuleState->m_libraryList; pDLL != NULL;
pDLL = pDLL->m_pNextDLL)
{
for (pClass = pDLL->m_classList; pClass != NULL;
pClass = pClass->m_pNextClass)
{
if (lstrcmpA(lpszClassName, pClass->m_lpszClassName) == 0)
{
AfxUnlockGlobals(CRIT_DYNLINKLIST);
return pClass;
}
}
}
以上代码找不到类的名称,但在vc6中可以找到。
解决:
把原来那个dll的工程拿来在vs2005下重新编译了一下,通过!
原因:
也许是两个编译器对一些类库的标识不同。
阅读(1576) | 评论(0) | 转发(0) |