Hi Matthew,
I assume you're not using 2.0 and can't make use of generics?
Regards,
mal
---- Matthew Wills <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
Antony,
>
>
Thanks for that. I can appreciate why it isn't done automatically in the
>
general case.
>
>
What I am trying to do is get it to work in a *specific* case.
>
>
Any clues?
>
>
Seeya
>
Matthew Wills @ MLC
>
Senior Analyst Programmer
>
>
>
>
|---------+---------------------------->
>
| | Antony Perkov |
>
| | <[EMAIL PROTECTED]|
>
| | AIL.COM> |
>
| | |
>
|---------+---------------------------->
>
>--------------------------------------------------------------------------------------------------------------|
>
|
|
>
| To: [email protected]
|
>
| cc:
|
>
| Subject: Re: [ADVANCED-DOTNET] RCW generation with automatic
ReleaseCOMObject |
>
>--------------------------------------------------------------------------------------------------------------|
>
>
>
>
>
Here is a blog entry on why Microsoft didn't just implement RCWs the way
>
you
>
are suggesting: http://blogs.msdn.com/cbrumme/archive/2003/04/16/51355.aspx
>
>
Antony
>
____________________
>
>
Antony Perkov
>
BitBolt Software Ltd
>
Web: www.bitbolt.com
>
>
-----Original Message-----
>
From: Matthew Wills [mailto:[EMAIL PROTECTED]
>
Sent: 13 April 2005 03:11
>
Subject: RCW generation with automatic ReleaseCOMObject
>
>
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 http://www.develop.com
>
>
View archives and manage your subscription(s) at http://discuss.develop.com
===================================
This list is hosted by DevelopMentor® http://www.develop.com
View archives and manage your subscription(s) at http://discuss.develop.com