首页 / 浏览问题 / 组件GIS / 问题详情
C#整合iDesktop二次开发报错MainForm is NULL.
2EXP 2020年09月23日

在通过C#整合iDesktop的时候报了个错了,具体代码如下

 System.Windows.Forms.Application.EnableVisualStyles();
            System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
            Application.ActiveApplication = new Application();
            Application currentApplication = Application.ActiveApplication;

            //打开登陆窗口
            FormAccess form = new FormAccess();

            //如果登陆成功,则根据用户加载不同的插件
            if (form.ShowDialog() == DialogResult.OK)
            {
                //如果是 admin 用户,则加载完整的 Default 工作环境
                if (form.UserName == "admin")
                {
                    //设置加载的工作环境
                    currentApplication.WorkEnvironmentManager.ActiveWorkEnvironmentName = "Default";
                }
                //如果是viewer用户,则在Default工作环境中过滤掉高级插件
                else if (form.UserName == "viewer")
                {
                    currentApplication.WorkEnvironmentManager.ActiveWorkEnvironmentName = "Default";
                    //注册插件加载时事件
                    currentApplication.PluginManager.PluginLoading += new PluginLoadingEventHandler(PluginManager_PluginLoading);
                }
                //初始化程序并运行
                currentApplication.SplashForm.Show();
                try
                {
                    currentApplication.Initialize();
                }
                catch (Exception ex)
                {
                    currentApplication.MessageBox.Show(string.Concat("初始化应用程序失败.", ex.Message));
                }
                finally
                {
                    currentApplication.SplashForm.Close();
                }
                currentApplication.Run();
                currentApplication.Exit();

在currentApplication.Run(); 这一行报错:Application.ActiveApplication.MainForm is NULL.

用的是iDesktop 9D,环境变量和许可都配置了

1个回答

你用的是iDesktop 9D那个版本?这边用iDesktop 910版本测试没有问题呢,你将你那边具体的版本号发出来看一下,在文件-关于中查看
4,620EXP 2020年09月24日
9.1.2版本的
环境问题,已远程解决。
...