关于ArcGis+MFC+shape文件的问题
//此函数是将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: 错误: 无法计算表达式的值
有大神帮一把么?