For configuration reasons, I want to delay the load of my addin extension until ArcMap 10.2 has finished.

If there a property, flag, listener etc I can get a hook to do a check if arcmap is done?

  • How are you loading now? Are you using the Auto-Load option (in the ArcGIS Add-Ins Wizard screen)? Default option is Just-In-Time loading. – Branco Jun 23 '15 at 19:23

Yes there is (in fact you have a choice of a property or an event to hook into):

The IApplicationStatus.Initialized property changes once the application is fully initialized, and the IApplicationStatusEvents.Initialized event fires as well.

It is suggested that UI changes from Add-ins only occur after application initialization, so this is just the hook you want. You may want to delay even further, but this is the soonest you want to load up your customizations.

This example code from ESRI shows how.

Also, elements of add-in UI must be configured as onDemand or not. You can achieve greater flexibility by setting the onDemand XML parameter for each UI element to "false" then managing each UI enable within the Startup of the add-in.

Here's why: Say that your Add-in has a toolbar with command tools which operate on a selection. If the Add-in initializes and automatically enables these command tools, then the user can pick on them and they will start. If there is no selection, then the tools may error out if they do not error-check for a selection.

--When the Add-in initializes, the extension within the Add-in starts up. Within the startup constructor the extension can check for a selection and enable/disable the Add-in UI commands based on the result. It can also hook into the 'Selection.Changed" event and manage the command enable/disable throughout the Add-in lifetime.

Good luck programming your ESRI Add-in.

| improve this answer | |
  • Thanks this is great. I'll give the points as soon as it will let me. – Arnej65 Jun 24 '15 at 15:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.