用WorkSpaceFactory.OpenFromFile打开失败是为什么,编译显示:异常来自 HRESULT:0x80040258
我检查了端点句(也就是OpenFromFile处)以前,值能传进去。
求高手解答 private void button1_Click(object sender, EventArgs e)
{
System.Windows.Forms.OpenFileDialog openFileDialog;
openFileDialog = new OpenFileDialog();
openFileDialog.Title = "打开shp文件";
openFileDialog.Filter = "shp layer(*.shp)|*.shp";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
string file = openFileDialog.FileName;
string filePath, fileName;
int index = 0;
index = file.LastIndexOf("\\");
filePath = file.Substring(0,index);
fileName = file.Substring(index+1,file.Length-index-1);
IWorkspaceFactory workspaceFactory;
IFeatureWorkspace featureWorkspace;
IFeatureLayer featureLayer;
IWorkspace workSpace;
workspaceFactory = new ShapefileWorkspaceFactoryClass();
workSpace = workspaceFactory.OpenFromFile(file,0);
featureWorkspace=workSpace as IFeatureWorkspace;
featureLayer=new FeatureLayerClass();
featureLayer.FeatureClass=featureWorkspace.OpenFeatureClass(fileName);
featureLayer.Name=featureLayer.FeatureClass.AliasName;
this.axMapControl1.AddLayer(featureLayer as ILayer);
CreatePolyline();
this.axMapControl1.Refresh();
}
}
我检查了端点句(也就是OpenFromFile处)以前,值能传进去。
求高手解答 private void button1_Click(object sender, EventArgs e)
{
System.Windows.Forms.OpenFileDialog openFileDialog;
openFileDialog = new OpenFileDialog();
openFileDialog.Title = "打开shp文件";
openFileDialog.Filter = "shp layer(*.shp)|*.shp";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
string file = openFileDialog.FileName;
string filePath, fileName;
int index = 0;
index = file.LastIndexOf("\\");
filePath = file.Substring(0,index);
fileName = file.Substring(index+1,file.Length-index-1);
IWorkspaceFactory workspaceFactory;
IFeatureWorkspace featureWorkspace;
IFeatureLayer featureLayer;
IWorkspace workSpace;
workspaceFactory = new ShapefileWorkspaceFactoryClass();
workSpace = workspaceFactory.OpenFromFile(file,0);
featureWorkspace=workSpace as IFeatureWorkspace;
featureLayer=new FeatureLayerClass();
featureLayer.FeatureClass=featureWorkspace.OpenFeatureClass(fileName);
featureLayer.Name=featureLayer.FeatureClass.AliasName;
this.axMapControl1.AddLayer(featureLayer as ILayer);
CreatePolyline();
this.axMapControl1.Refresh();
}
}
解决方案 »
- C#如何播放一段音频,作为程序提示音!
- 不知道怎么弄,这个作业不知道怎么写
- 关于html转xml格式的正则表达式
- 如何让一个form窗口一打开就是最大化的,并且把右上角最小化最大化去掉,只留关闭
- 看看这个问题,关于查找控件的问题
- 大家平时学习时,用过c#2005 express版吗?这个版本用于学习和简单的工程开发,行吗?
- DataGrid在模板列中放入imagebutton,如何判断点击的是哪一行? 急!
- 光棍节想脱光的进来(福利贴)
- c# 如何在picturebox上捕获MouseWheel事件?
- 那里有错啊,在线给分
- 问个 webBrowser 的编辑问题
- winfrom 中子窗体刷新父窗体
将你项目的目标平台(Platform target)改成X86
重新生成
还是不行,我也不清楚是怎么回事,我是除了用了ArcEngine中的那些控件,别的也没用