Unloading your extension, Sample extension, Unloading your extension sample extension – Pitney Bowes MapXtreme User Manual

Page 481

Advertising
background image

Appendix B: Customizing MapXtreme

Workspace Manager Extensions

MapXtreme v7.1

488

Developer Guide

Command Line Arguments for Loading Extensions

You can also control from the command line where Workspace Manager should look for extensions
to load:

/LoadExtensions=[All|Folder|None]

Where:
All means to look in loaded assemblies and look in the Extensions folder
Folder means only look in the Extensions folder and skip the loaded assemblies
None means do not autoload any extensions

Unloading Your Extension

An extension can be unloaded by the user or when Workspace Manager is exiting. The extension
should be designed to remove any added menus, toolbars, or tab windows etc. and free up as many
resources as it can. The extension assembly will be unloaded from the AppDomain once Workspace
Manager is closed.

Sample Extension

Here is an example extension for Workspace Manager that loads the previously-used workspace on
startup:

using MapInfo.WorkspaceManager.Extension;
using System.Windows.Forms;
using System;

public class LoadLastWorkspaceExtension : IWorkspaceManagerExtension
{
private string _name;
private IWorkspaceManager _callback;

private LoadLastWorkspaceExtension()
{
_name = "Load Last Workspace Extension";
}

public string Name
{
get { return _name; }
}

public string Version
{
get { return "0.57"; }
}

// this get called when extension is first loaded
// use it to hook up and UI like menu items, toolbars, etc

Advertising