首页 / 浏览问题 / 组件GIS / 问题详情
iobject.net组件开发中自动加载工作空间中,加载不出来
15EXP 2022年05月11日

private void BTN_LoadDef_Click(object sender, EventArgs e)
        {
            try
            {
                this.Cursor = Cursors.WaitCursor;
                SplitContainer splitcon = this.Parent.Parent as SplitContainer;
                if (splitcon != null)
                {
                    scentrol = splitcon.Panel2.Controls[0] as SceneControl;
                    scentrol.Scene.Layers.Clear();
                    m_workspace.Close();
                    if (scentrol != null)
                    {
                        WorkspaceConnectionInfo wksconinfo = new WorkspaceConnectionInfo();
                        wksconinfo.Server = System.Environment.CurrentDirectory + @"\Data\阜新市\10.smwu";
                        wksconinfo.Type = WorkspaceType.SMWU;
                        vertor = "10";
                        CADName = "shiyan";

                        if (m_workspace.Open(wksconinfo))
                        {
                            vectorCAD = m_workspace.Datasources[1].Datasets[CADName] as DatasetVector;
                            scentrol.Scene.Workspace = m_workspace;
                            scentrol.Scene.Open(vertor);
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                Console.WriteLine("error:" + ex.Message + ex.StackTrace);
            }
            this.Cursor = Cursors.Arrow;
        }

上面是代码,在if (m_workspace.Open(wksconinfo))
                        {
                            vectorCAD = m_workspace.Datasources[1].Datasets[CADName] as DatasetVector;之前都挺正常的,但是这步出现了问题

想知道是什么原因引起的

工作空间结构如下

1个回答

您好,根据您的截图信息,您尝试打开的工作空间只有一个数据源和一个数据集,代码应该使用 m_workspace.Datasources[0] 获取数据源,而您的代码中 m_workspace.Datasources[1] 会出现数组越界的问题。

希望可以帮到您。
2,248EXP 2022年05月12日
...