Application.Explorers.NewExplorer += new ExplorersEvents_NewExplorerEventHandler(Explorers_NewExplorer);
Unfortunatly, after a new explorer or two were created, our callback was no longer called by outlook.
What made this more consistent was:
Application.Explorers.NewExplorer += new ExplorersEvents_NewExplorerEventHandler(Explorers_NewExplorer);
GC.Collect();
Now, the NewExplorer callback was never called !!
The workaround: Create a global reference to the Explorers object, such as
Explorers explorers;
void Startup()
{
explorers = Application.Explorers;
explorers.NewExplorer += new ExplorersEvents_NewExplorerEventHandler(Explorers_NewExplorer);
....
}
It seems that without this reference, the Explorers object, together with my callback, were all collected by the GC.
This would be a good opportunity to thank my co-worker Arina for figuring this out.
No comments:
Post a Comment