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
