outlook doesn't closed well

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.
 
D

donald

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

Donald
 
D

David Cebrian

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.
 
T

Thaddaeus Parker

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.
 
J

Josh Einstein

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
 
D

David Cebrian

Hi Josh,

I run the garbage collector, but the problem persists.

thanks for your time.
 
K

Ken Slovak - [MVP - Outlook]

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top