<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Kill dozens of Excel.exe processes stacking up in Task Manager</title>
	<atom:link href="http://www.ocxt.com/archives/133/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ocxt.com/archives/133</link>
	<description>ActiveX document container for hosting Office documents and PDF (including Adobe PDF, Microsoft Word, Microsoft Excel, Microsoft PowerPoint, Microsoft Project and Microsoft Visio documents)</description>
	<lastBuildDate>Sat, 19 Nov 2011 03:49:30 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: office viewer</title>
		<link>http://www.ocxt.com/archives/133#comment-134</link>
		<dc:creator>office viewer</dc:creator>
		<pubDate>Tue, 08 Dec 2009 03:03:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.ocxt.com/?p=133#comment-134</guid>
		<description>This is because ExcelIS COM and COM does not have the easy garbage collection that comes with Java/.NET. 
Each COM object uses a Reference Count and until the reference count is 0, 
the COM object will never get out of your RAM. So how then do you reduce the reference count to 0. 
By setting every COM object reference to NULL. This is not only the Document and Application. 
 
You can overload the  BeforeDocumentClosed event.
 
OA1.ActiveDocument.Close(); OA1.ActiveDocument = NULL; OA1.Application.Quit(); OA1.Application = NULL;
 
Or try the Garbage Release.
public void OnDisconnection(Extensibility.ext_DisconnectMode 
disconnectMode, ref System.Array custom)
 {
  Trace.WriteLine(&quot;OnDisconnection&quot;);
  System.Runtime.InteropServices.Marshal.ReleaseComObject(applicationObject&gt;  applicationObject =null;
  GC.Collect();
  GC.WaitForPendingFinalizers();
  GC.Collect();
}</description>
		<content:encoded><![CDATA[<p>This is because ExcelIS COM and COM does not have the easy garbage collection that comes with Java/.NET.<br />
Each COM object uses a Reference Count and until the reference count is 0,<br />
the COM object will never get out of your RAM. So how then do you reduce the reference count to 0.<br />
By setting every COM object reference to NULL. This is not only the Document and Application. </p>
<p>You can overload the  BeforeDocumentClosed event.</p>
<p>OA1.ActiveDocument.Close(); OA1.ActiveDocument = NULL; OA1.Application.Quit(); OA1.Application = NULL;</p>
<p>Or try the Garbage Release.<br />
public void OnDisconnection(Extensibility.ext_DisconnectMode<br />
disconnectMode, ref System.Array custom)<br />
 {<br />
  Trace.WriteLine(&#8220;OnDisconnection&#8221;);<br />
  System.Runtime.InteropServices.Marshal.ReleaseComObject(applicationObject>  applicationObject =null;<br />
  GC.Collect();<br />
  GC.WaitForPendingFinalizers();<br />
  GC.Collect();<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: office viewer</title>
		<link>http://www.ocxt.com/archives/133#comment-124</link>
		<dc:creator>office viewer</dc:creator>
		<pubDate>Fri, 20 Feb 2009 08:23:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.ocxt.com/?p=133#comment-124</guid>
		<description>The new component allows the user&#039;s computer has the excel instance before use the component. But when the user is using the component, it dosn&#039;t allow to lanch new excel instance from destop directlly.</description>
		<content:encoded><![CDATA[<p>The new component allows the user&#8217;s computer has the excel instance before use the component. But when the user is using the component, it dosn&#8217;t allow to lanch new excel instance from destop directlly.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

