typedef Acad::ErrorStatus(__stdcall* funcPtr)(const TCHAR* fname);
void LoadNetLoad(const CString& netDllPath)
{
CString sNetFile = netDllPath;
HMODULE hAcMgd = ::GetModuleHandle(_T("ACDBMGD.DLL"));
funcPtr pLoadMgd = (funcPtr)::GetProcAddress(hAcMgd, "LoadManagedDll");
if (pLoadMgd)
{
Acad::ErrorStatus es = (*pLoadMgd)(sNetFile);// fileName);
if (es != Acad::eOk)
{
acutPrintf(_T("\nError in loading the .NET DLL!"));
return;
}
}
else
{
acutPrintf(_T("\nError getting function pointer to LoadManagedDll()!"));
return;
}
}

这段代码展示了在C++中如何使用`GetProcAddress`和`GetModuleHandle`函数从动态链接库(ACDBMGD.DLL)获取并执行`LoadManagedDll`函数,用于加载.NET DLL。如果函数指针获取失败或函数执行出错,程序会输出错误信息。
624

被折叠的 条评论
为什么被折叠?



