new Thread(ThreadStart(AddPointByStore)).Start();
线程运行的函数
public void AddPointByStore() {
IFeatureLayer l = MapCtr.Map.get_Layer(0) as IFeatureLayer;
IFeatureClass fc = l.FeatureClass ;
IWorkspaceEdit w = (fc as IDataset).Workspace as IWorkspaceEdit;
IFeature f ;
IPoint p;
w.StartEditing (false);
w.StartEditOperation() ;
for (int i = 0 ; i< 100 ; i++ ) {
f= fc.CreateFeature();
p = new PointClass();
p.PutCoords (i,i);
f.Shape = p;
f.Store();
}
w.StopEditOperation();
w.StopEditing(true);
}
Arcengine中多线程的问题,我需要在子线程中创建要素并保存。但按下面的写总是停止运行,不知道哪有错误
答案:2 悬赏:20 手机版
解决时间 2021-01-23 06:47
- 提问者网友:半生酒醒
- 2021-01-22 16:52
最佳答案
- 五星知识达人网友:荒野風
- 2021-01-22 17:12
我现在遇到的是后台加载影像也是软件停止运行,查了资料应该是arcengine不允许跨线程访问组件,不知道你的问题解决没。
全部回答
- 1楼网友:纵马山川剑自提
- 2021-01-22 17:56
DataSet数据集对象:可分为两大类:Table和GeoDataset,GeoDataset是一个抽象类,代表了拥有空间属性的数据集,包括FeatureDataset、要素类FeatureClass、TIN和栅格数据集RasterDataset。 创建要素数据集就是创建FeatureDataset,创建线要素和面要素就是创建FeatureClass,只是其Geometry不同而已。 多看看AE开发的书籍吧。
再看看别人怎么说的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯