Exemple #1
0
        static void StartApplication()
        {
            frmMainMenu mainTemp = null;

            try
            {
                HTN.BITS.FGTRACK.LIB.ResourceManager.Instance.CallingAssembly = Assembly.GetExecutingAssembly();
                GlobalVariable.LanguageSelect = "fr-CA"; //fr-CA is Thai

                clsBarcodeReader.Instance.InitialComponent();
                //ServiceProvider.Instance.Connect();

                //fMain = new frmMainMenu();
                //Application.Run(fMain);
                using (frmMainMenu fMain = new frmMainMenu())
                {
                    GC.ReRegisterForFinalize(fMain);

                    mainTemp = fMain;
                    Application.Run(fMain);

                    ServiceProvider.Instance.Disconnect();
                    clsBarcodeReader.Instance.Release();

                    mainTemp = null;
                    GC.SuppressFinalize(fMain);

                    GC.Collect();
                    GC.WaitForPendingFinalizers();
                }


                if (mainTemp != null)
                {
                    FullScreenHandle.StopFullScreen(mainTemp);
                    GC.SuppressFinalize(mainTemp);

                    GC.Collect();
                    GC.WaitForPendingFinalizers();
                }

                Application.Exit();
            }
            catch (Exception ex)
            {
                if (mainTemp != null)
                {
                    FullScreenHandle.StopFullScreen(mainTemp);
                    GC.SuppressFinalize(mainTemp);
                }

                GC.Collect();
                GC.WaitForPendingFinalizers();

                Application.Exit();
            }
        }
 private void frmMainMenu_Closing(object sender, CancelEventArgs e)
 {
     FullScreenHandle.StopFullScreen(this);
 }