예제 #1
0
파일: Program.cs 프로젝트: secondii/Yutai
        static void Main()
        {
            //{
            //    if (!RuntimeManager.Bind(ProductCode.Desktop))
            //    {
            //        MessageBox.Show("Unable to bind to ArcGIS runtime. Application will be shut down.");
            //        return;
            //    }
            //}
            ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            // Application.Run(new Form1());
            ExceptionHandler.Attach();

            //DumpFormats();

            var logger = new LoggingService();

            logger.Info("APPLICATION STARTUP");

            ShowSplashScreen();

            Timer.Start();
            SplashView.Instance.ShowStatus("正在检查许可...");
            m_AOLicenseInitializer.InitializeApplication(
                new esriLicenseProductCode[]
            {
                esriLicenseProductCode.esriLicenseProductCodeEngine,
                esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB
            },
                new esriLicenseExtensionCode[]
            {
                esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst,
                esriLicenseExtensionCode.esriLicenseExtensionCodeNetwork,
                esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst,
                esriLicenseExtensionCode.esriLicenseExtensionCodeSchematics,
                esriLicenseExtensionCode.esriLicenseExtensionCodeMLE,
                esriLicenseExtensionCode.esriLicenseExtensionCodeTracking
            });


            var container = CreateContainer();

            CompositionRoot.Compose(container);
            if (ORGStaffHelper.IsValide())
            {
                frmLogin frmLogin = new frmLogin(container);
                SplashView.Instance.Visible = false;
                if (frmLogin.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                {
                    return;
                }
            }
            SplashView.Instance.Visible = true;
            SplashView.Instance.ShowStatus("引导配置...");
            LoadConfig(container);

            SplashView.Instance.ShowStatus("启动应用程序...");
            container.Run <NewMainPresenter>();
        }