By the way, I actually haven't tried that, it just sounds feasable.

On 4/13/05, Matthew Wills <[EMAIL PROTECTED]> wrote:
> 
> 
> William,
> 
> Thanks for the suggestion. I am guessing that is a little above my skill
> level - but I will look into it.
> 
> Any other ideas?
> 
> Seeya
> Matthew Wills @ MLC
> Senior Analyst Programmer
> 
> |---------+---------------------------->
> |         |           William          |
> |         |           Bartholomew      |
> |         |           <[EMAIL PROTECTED]|
> |         |           OM>              |
> |         |                            |
> |---------+---------------------------->
>   
> >--------------------------------------------------------------------------------------------------------------|
>   |                                                                           
>                                    |
>   |       To:       [email protected]                       
>                                    |
>   |       cc:                                                                 
>                                    |
>   |       Subject:  Re: [ADVANCED-DOTNET] RCW generation with automatic 
> ReleaseCOMObject                         |
>   
> >--------------------------------------------------------------------------------------------------------------|
> 
> 
> You could possibly write your own version of the tlbimp utility that
> calls tlbimp and then uses CodeDom to add the IDisposable interface
> and it's implementation...
> 
> On 4/13/05, Matthew Wills <[EMAIL PROTECTED]> wrote:
> >
> >
> > All,
> >
> > We are automating Word / Excel from VB.NET and ran into the problem where
> > they won't shut down since the garbage collector hasn't garbage collected
> > the objects - so the reference counts of some of the COM objects is > 0.
> >
> > We moved to using ReleaseCOMObject against all the objects, which
> obviously
> > got rid of the problem. (Note that I am aware that a commonly held view
> is
> > that the solution is to call GC.Collect until the problem goes away. For
> a
> > variety of reasons I disagree with this view - mainly since that
> technique
> > is not *guaranteed* to work. But lets put that to one side for now).
> >
> > Nonetheless, the use of ReleaseCOMObject is quite fiddly, especially when
> > you have to clean up all the intermediate objects as well. As such, I am
> > seeing if there is an easier way. One concept that I *think* would work
> > would be to have all the classes in the RCW implement IDisposable, then
> in
> > C# / VB.NET 2005 I could use Using to manage the cleanup in a simpler way
> > (the code would still be longer than say the VB 6 equivalent, but would
> be
> > significantly shorter than currently). So my question is - is there any
> way
> > to generate a RCW where all the classes implement IDisposable and where
> > Dispose will automatically call ReleaseCOMObject?
> >
> > Thanks
> > Matthew Wills @ MLC
> > Senior Analyst Programmer
> 
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email
> ______________________________________________________________________
> 
> ===================================
> This list is hosted by DevelopMentor(r)  http://www.develop.com
> 
> View archives and manage your subscription(s) at http://discuss.develop.com
> 
> 
> 
> This e-mail is sent by or on behalf of the named sender identified above.
> If:
> 
> (a) you do not wish to receive any e-mail marketing material from this
> person in the future, please forward the contents of this email to
> [EMAIL PROTECTED] with the word "unsubscribe" in the
> subject box.
> 
> (b) you wish to unsubscribe from all central e-mail marketing lists
> used by our business, please forward the contents of this e-mail to
> [EMAIL PROTECTED] with the message "unsubscribe
> from all central e-mail marketing lists" in the subject box.
> 
> If you do not forward the contents of this e-mail with your
> unsubscription then it may not be able to be implemented.
> 
> The information contained in this e-mail communication may be
> confidential. You should only read, disclose, re-transmit, copy,
> distribute, act in reliance on or commercialise the information if you
> are authorised to do so. If you are not the intended recipient of this
> e-mail communication, please immediately notify us by e-mail to
> [EMAIL PROTECTED], or reply by e-mail direct to the sender and then
> destroy any electronic and paper copy of this message. Any views
> expressed in this e-mail communication are those of the individual
> sender, except where the sender specifically states them to be the views
> of a member of the National Australia Bank Group of companies. Any
> advice contained in this e-mail has been prepared without taking into
> account your objectives, financial situation or needs. Before acting on
> any advice in this e-mail, National Australia Bank Limited recommends
> that you consider whether it is appropriate for your circumstances. If
> this e-mail contains reference to any financial products, the National
> recommends you consider the Product Disclosure Statement (PDS) or other
> disclosure document before making any decisions regarding any products.
> The National Australia Bank Group of companies does not represent,
> warrant or guarantee that the integrity of this communication has been
> maintained nor that the communication is free of errors, virus or
> interference.
> 
> ===================================
> This list is hosted by DevelopMentor(r)  http://www.develop.com
> 
> View archives and manage your subscription(s) at http://discuss.develop.com
> 
> 


-- 

Regards,

William D. Bartholomew
http://blog.bartholomew.id.au/

===================================
This list is hosted by DevelopMentor�  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to