ArcFM Desktop Developer Guide
Custom Extensions

Resource Center Home

When developing a custom set of functionality for the Process Framework, the best place to start is with writing the custom extension. When the Process Framework application starts, it loads and initializes classes registered into the a component category that organizes extension objects. In this way, you can think of extensions as being “plug-ins” to the Process Framework application - the Process Framework user interface would be empty without any extensions.

Therefore, extensions are the central component to your custom Process Framework application. Common functionality and utilities can be kept in your extension, exposed by your own custom COM Interfaces. A typical case of extension functionality is one of node creation and data access - your custom applications will likely provide functionality to create records in a database that correspond with nodes that are created in the Process Framework’s list tree. In this case, the extension is the object that contains knowledge of your database design and the types of nodes that your tools are to manage.

Summary

Interfaces:
    IMMExtension
    IMMExtensionEx

Component Category:
    MMExtension

Event Listeners

When a user re-logs into the ArcFM application and establishes a new connection, your custom extension(s) may need to perform special processing based on events that take place in the Process Framework application, such as clear cached recordsets. The application broadcasts the following events:

Your custom extension will likely have a reference to the Process Framework application. You might find it useful to handle events raised by the Process Framework application during its use. Such event handlers could be used to initialize and refresh objects, variables or data caches. The following events are broadcast by the Process Framework application.

In order to listen to the Application’s events, your project will need to reference the Process Framework User Interface component (MMPxBaseUI.dll). After a reference is made to that library, you can declare a member variable using the WithEvents keyword. You can then set this variable equal to your reference to the Process Framework application.

Loading Your Extension

Process Framework loads your custom extension when it starts up. Use IMMPxApplication::FindExtensionByName() to get a reference to your custom extension from Process Framework. This process works similar to how IExtensions are loaded in ArcMap.

Implementing

Your custom extension must be registered in the MMExtension component category to make it available to the Process Framework. To register your extension, you may use the IMMRegInCat interface.

 

 


Send Comment to ArcFMdocumentation@schneider-electric.com