Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Outlook and VBA (http://www.outlookbanter.com/outlook-vba/)
-   -   Problem with ItemSent event (http://www.outlookbanter.com/outlook-vba/25228-problem-itemsent-event.html)

[email protected] August 27th 06 03:05 PM

Problem with ItemSent event
 
Hello all,

I am writing an outlook plugin for saving emails I send and receive.
For some reason, after a while, the ItemSent event stops and the
delegate doesn't get called when emails are sent.

Any ideas why does that happen? What could be done to prevent it from
happening?

Thanks in advance,

Nool


Josh Einstein August 27th 06 05:02 PM

Problem with ItemSent event
 
Sounds like the classic "object goes out of scope and get's garbage
collected" issue.

Make sure whenever you bind to events in any .NET application (but
especially COM interop scenarios like Office) that the object remains rooted
for as long as you intend to handle the event. Otherwise the garbage
collector will pick it up and discard it.

The problem is worse in COM interop scenarios because even though the real
object might still be alive (like the Outlook Application object) it's
runtime callable wrapper (RCW) is created on the fly and thrown away when it
goes out of scope. You can hang onto the RCW in a static field or instance
field if need be.

--
Josh Einstein / Tablet PC MVP
Einstein Technologies, LLC
-----------------------------------------------------
Tablet Enhancements for Outlook 3.0 Now Available
Unleash the potential of Outlook on your Tablet PC, Origami, or UMPC.
Try it for 15 days - http://www.tabletoutlook.com/Go.ashx?id=ng


wrote in message
ups.com...
Hello all,

I am writing an outlook plugin for saving emails I send and receive.
For some reason, after a while, the ItemSent event stops and the
delegate doesn't get called when emails are sent.

Any ideas why does that happen? What could be done to prevent it from
happening?

Thanks in advance,

Nool




[email protected] August 29th 06 06:55 AM

Problem with ItemSent event
 
Thanks for your reply - but I'm am not sure what you mean - what is
getting out of scope?

I'm attaching the delegate to an outlook event - how can I prevent from
it getting out of scope.

Another thing is I played around with it - and the problem only happens
when I use streams - when I do some other (similarly time consuming)
action - it does not happen and the delegate gets called all the time.
Any ideas?

Thanks again.
Nool

Josh Einstein wrote:
Sounds like the classic "object goes out of scope and get's garbage
collected" issue.

Make sure whenever you bind to events in any .NET application (but
especially COM interop scenarios like Office) that the object remains rooted
for as long as you intend to handle the event. Otherwise the garbage
collector will pick it up and discard it.

The problem is worse in COM interop scenarios because even though the real
object might still be alive (like the Outlook Application object) it's
runtime callable wrapper (RCW) is created on the fly and thrown away when it
goes out of scope. You can hang onto the RCW in a static field or instance
field if need be.

--
Josh Einstein / Tablet PC MVP
Einstein Technologies, LLC
-----------------------------------------------------
Tablet Enhancements for Outlook 3.0 Now Available
Unleash the potential of Outlook on your Tablet PC, Origami, or UMPC.
Try it for 15 days - http://www.tabletoutlook.com/Go.ashx?id=ng


wrote in message
ups.com...
Hello all,

I am writing an outlook plugin for saving emails I send and receive.
For some reason, after a while, the ItemSent event stops and the
delegate doesn't get called when emails are sent.

Any ideas why does that happen? What could be done to prevent it from
happening?

Thanks in advance,

Nool



Ken Slovak - [MVP - Outlook] August 29th 06 02:43 PM

Problem with ItemSent event
 
Either declare your item for the event handler at a module level in a class
that never gets released or add the item to a collection or hashtable to
make sure it stays alive and doesn't get garbage collected.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


wrote in message
ups.com...
Thanks for your reply - but I'm am not sure what you mean - what is
getting out of scope?

I'm attaching the delegate to an outlook event - how can I prevent from
it getting out of scope.

Another thing is I played around with it - and the problem only happens
when I use streams - when I do some other (similarly time consuming)
action - it does not happen and the delegate gets called all the time.
Any ideas?

Thanks again.
Nool




All times are GMT +1. The time now is 05:04 AM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com