关于ArcGis+MFC+shape文件的问题

MissingMe__ 2017-09-15 09:56:05
//此函数是将txt文件中的点集转化生成shp文件
IFeatureLayerPtr CPolygonDlg::CreateShpFromPoint(CString strShp)
{
int index = strShp.ReverseFind('\\');//找到最后一个\的位置
CString strfolder = strShp.Left(index+1);
int len = strShp.GetLength();
CString strFileTitle = strShp.Right(len-index-1);

IWorkspaceFactoryPtr pWSF = NULL;
HRESULT hr = pWSF.CreateInstance(__uuidof(esriCore::ShapefileWorkspaceFactory)); /////////////// 此步出错/////////////
if (FAILED(hr))
AfxMessageBox(_T("file"));

IFeatureWorkspacePtr pFWS = (IFeatureWorkspacePtr)(pWSF->OpenFromFile(_bstr_t(strfolder),0));


调试信息如下:
HRESULT CreateInstance(const CLSID& rclsid, IUnknown* pOuter = NULL, DWORD dwClsContext = CLSCTX_ALL) throw()
{
HRESULT hr;

_Release();

if (dwClsContext & (CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER)) {
IUnknown* pIUnknown;
///////////////运行到下面的CoCreateInstance函数出错,出错
hr = CoCreateInstance(rclsid, pOuter, dwClsContext, __uuidof(IUnknown), reinterpret_cast<void**>(&pIUnknown));

if (SUCCEEDED(hr)) {
hr = OleRun(pIUnknown);

if (SUCCEEDED(hr)) {
hr = pIUnknown->QueryInterface(GetIID(), reinterpret_cast<void**>(&m_pInterface));
}

pIUnknown->Release();
}
}
错误显示: hr: 0x80040111 ClassFactory 无法供应请求的类
pIUnknown: 0x00000000 ------正常情况这个地方是有值的,但是不知道 为什么没有
参数pIUnknown显示: __vfptr = CXX0030: 错误: 无法计算表达式的值

有大神帮一把么?


...全文
422 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

703

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
  • ActiveX/COM/DCOM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧