ARCGIS Engine EXE程序 执行不了 不能弹出主界面

在介绍问题之前,我先说一下我的工作环境:VS2010,VS2013,ARCGIS Engine 10.1,DevExpress13.2,C#语言

问题是这样的:我开发的WinForm程序编译好后,

(1)第一次点击“开始执行(不调试)”,程序能正常启动,弹出主界面;

(2)从第二次点击“开始执行(不调试)”开始,程序能启动,但是不能弹出主界面,只有在任务管理器里才能发现这个程序运行了;

(3)我在生成目录里直接运行EXE程序,照样不能弹出主界面,和第二次以后的点击效果一样;

(4)点击“启动调试”可以正常进入调试,无论点多少次都没关系;

(5)我把代码工程拷贝到别的电脑上,重新编译,无论点击多少次“开始执行(不调试)”,程序都能正常启动,弹出主界面;

(6)我把EXE拷贝到别的电脑上,配置好环境之后,直接运行EXE程序,能正常启动,弹出主界面。

解决过程:

(1)最开始是在vs2010里面遇到的这个问题,我以为是我工程属性配置的原因,但是无论怎么配置还是出现这个问题;

(2)我以为我把环境配置环了,更换vs2013,问题还是没解决;

(3)我的界面用的是破解版的DevExpress控件,难道是这个原因?我把控件卸载,重新安装,问题还是存在;

(4)ARCGIS engine license 的问题?但是调试进入没问题,而且我别的ARCGIS程序都没问题,排除license的问题;

(5)可以肯定的是,这个问题是个个例,只能针对代码来解决问题!我的入口main()函数里有这样的代码:

            RuntimeManager.Bind(ProductCode.Desktop);
            LicenseInitializer m_AOLicenseInitializer = new LicenseInitializer();
            m_AOLicenseInitializer.InitializeApplication(...)
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            IMapControl2 mapControl1 = new MapControlClass();
            Application.Run(new RibbonForm1());
            m_AOLicenseInitializer.ShutdownApplication();

(6)我的主界面不能弹出,那我就在主界面弹出代码前面添加测试代码:

            MessageBox.Show("before");
            Application.Run(new RibbonForm1());

重新编译程序,问题还是依旧。

(7)IMapControl2 mapControl1 = new MapControlClass();这行代码是以前问解决另外一个问题,而添加的,好像是调用Python代码输出乱码信息而添加的,具体我有点忘了,后面我再核实下这个问题。我感觉这行代码有点怪,就在这行代码前面添加测试代码:

            MessageBox.Show("before");
            IMapControl2 mapControl1 = new MapControlClass();  
            Application.Run(new RibbonForm1());

忽然间,问题解决了,“before”窗口能够弹出!!!!RibbonForm1窗口也能够弹出!!!!!,而且无论点击“开始执行(不调试)”多少次,都能正常弹出主界面!!!!!

(8)问题解决了,但是是什么原因呢?我说不清楚,请各位大牛帮着分析分析。




你可能感兴趣的:(ARCGIS Engine EXE程序 执行不了 不能弹出主界面)