outlook doesn't closed well

  • Thread starter Thread starter David Cebrian
  • Start date Start date
D

David Cebrian

Hi people,

I have a COM Add-in for Outlook 2003, and the problem is when I close the
outlook, the process outlook.exe in the task manager don't disapear, then if
I try to open the outlook again it fails.

Anybody can give an idea for this

Tanks in advance,

Jaume F.
 
have you try outlook with out your COM add-in load to see if it is your
add-in or not?

Donald
 
yes, when I execute the outlook without my add-in it works fine, the problem
is when I close outlook without remove my add-in, after I can not open the
outlook again, because the process outlook.exe still in the task manager.
 
This is due to the fact that you are not releasing any of your objects that
are being created by your add-in. You MUST be absolutely sure that in
explorer Close Event or some uninitHandler that you are releasing whatever
objects you were using during the execution of your add-in namely: buttons,
menu items, wrapped outlook objects. Without know what your code is doing
right now, I would suggest that you in your on disconnection event of the
add-in go and set all of your Commandbarbuttons, explorers, inspectors,
folders to null (Nothing) and see if that fixes your problem.

Regards,

Thaddaeus.
 
I also recommend running the garbage collector when explorers and inspectors
count become 0.

GC.Collect();
GC.WaitForPendingFinalizers();

This will ensure anything abandoned is collected by the GC and their
finalizers are run (which decrements their reference counters, thus freeing
your hold on the underlying COM object).

And also as I mentioned in the other group. I've found that accidentally
accessing Outlook objects from a background thread will cause random
problems with Outlook sticking around.

Oh and be sure to explicitly unbind any events you're listening to. I found
in a memory profiler that huge trees of objects were being kept alive
because of the way .NET manages event bindings.

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com
 
Hi Josh,

I run the garbage collector, but the problem persists.

thanks for your time.
 
You will need to check for the count of Explorers and Inspectors at each
Inspector.Close and Explorer.Close event. The On_Disconnection event will
not fire if the user closes Outlook if any Outlook objects are still
instantiated. In addition to the other suggestions also make sure that every
possible error in your code is handled, unhandled errors will also prevent
Outlook from closing.
 
Back
Top