Пример #1
0
        public override void closeSim()
        {
            if (simulatorStatus == sinter_simulatorStatus.si_OPEN)
            {
                try
                {
                    closeDocument();
                    o_xlApp.Quit();

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

                    killExcel();  //If it's still open after quit, kill it dead.

                    Marshal.FinalReleaseComObject(o_xlApp);
                    GC.Collect();
                    GC.WaitForPendingFinalizers();
                    o_xlApp = null;
                }
                catch (Exception ex)
                {
                    simulatorStatus = sinter_simulatorStatus.si_ERROR;
                    throw ex;
                }
                simulatorStatus = sinter_simulatorStatus.si_CLOSED;
            }
        }