SIL.FieldWorks.FieldWorks.ShutdownApp C# (CSharp) Méthode

ShutdownApp() static private méthode

Shutdowns the specified application. The application will be disposed of immediately. If no other applications are running, then FieldWorks will also be shutdown.
static private ShutdownApp ( FwApp app, bool fSaveSettings ) : void
app SIL.FieldWorks.Common.Framework.FwApp The application to shut down.
fSaveSettings bool True to have the application save its settings, /// false otherwise
Résultat void
		internal static void ShutdownApp(FwApp app, bool fSaveSettings)
		{
			if (app != s_teApp && app != s_flexApp)
				throw new ArgumentException("Application must belong to this FieldWorks", "app");

			if (fSaveSettings)
				app.SaveSettings();

			if (s_activeMainWnd != null && app.MainWindows.Contains(s_activeMainWnd))
			{
				// The application that owns the active main window is being disposed. This
				// means that the window is, most likely, already disposed.
				s_activeMainWnd = null;
			}

			RecordLastAppForProject();

			if (app == s_teApp)
				s_teApp = null;
			else if (app == s_flexApp)
				s_flexApp = null;

			// Make sure we do this after we set the variables to null to keep a race condition
			// from happening where we want to GetOrCreateApplication() for the app that is
			// being disposed.
			try
			{
				app.Dispose();
			}
			catch
			{
				// continue shutdown even with an exception. It's possible we're shutting down because
				// of a crash and we don't know what state the application is in.
			}

			ExitIfNoAppsRunning();
		}
FieldWorks