<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic DeleteLayer from TOC does not release the memory. in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38236#M1001</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've been trying to delete the layer from the map and release the memory but I was not able to find the solution. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using the following code to remove the layer from the Map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;ILayer layer =&amp;nbsp; (ILayer) m_mapControl.CustomProperty;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
m_mapControl.Map.DeleteLayer(layer); &lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This code is working however the memory is not released.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone know how can I release the memory? This is a big problem because when I add a lot of layer to the TOC and then I remove them the application does not release the memory.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 19 Jul 2011 13:17:43 GMT</pubDate>
    <dc:creator>GustavoFerrero</dc:creator>
    <dc:date>2011-07-19T13:17:43Z</dc:date>
    <item>
      <title>DeleteLayer from TOC does not release the memory.</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38236#M1001</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've been trying to delete the layer from the map and release the memory but I was not able to find the solution. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using the following code to remove the layer from the Map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;ILayer layer =&amp;nbsp; (ILayer) m_mapControl.CustomProperty;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
m_mapControl.Map.DeleteLayer(layer); &lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This code is working however the memory is not released.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone know how can I release the memory? This is a big problem because when I add a lot of layer to the TOC and then I remove them the application does not release the memory.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jul 2011 13:17:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38236#M1001</guid>
      <dc:creator>GustavoFerrero</dc:creator>
      <dc:date>2011-07-19T13:17:43Z</dc:date>
    </item>
    <item>
      <title>Re: DeleteLayer from TOC does not release the memory.</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38237#M1002</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sorry no answer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but i have seen the same problem, also the locks are also still in place.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jul 2011 13:51:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38237#M1002</guid>
      <dc:creator>grahamwood</dc:creator>
      <dc:date>2011-07-19T13:51:13Z</dc:date>
    </item>
    <item>
      <title>Re: DeleteLayer from TOC does not release the memory.</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38238#M1003</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I suggest you try using the COMReleaser to explicitly release the resource from either the layer or the featureclass that is the layer source.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jul 2011 14:03:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38238#M1003</guid>
      <dc:creator>AlexanderGray</dc:creator>
      <dc:date>2011-07-19T14:03:20Z</dc:date>
    </item>
    <item>
      <title>Re: DeleteLayer from TOC does not release the memory.</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38239#M1004</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Before removing the layer from the map you should QI over to IDataLayer2 and call Disconnect.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jul 2011 14:04:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38239#M1004</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-07-19T14:04:43Z</dc:date>
    </item>
    <item>
      <title>Re: DeleteLayer from TOC does not release the memory.</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38240#M1005</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for response,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've tried disconnecting the layer, but It didn't work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;IDataLayer2 dl = (IDataLayer2)pFeaLayer;
dl.Disconnect();

m_mapControl.Map.DeleteLayer(layer);
while (System.Runtime.InteropServices.Marshal.ReleaseComObject(pFeaLayer) &amp;gt; 0) { };&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've made some tests into the ArcMap and it's happen the same problem. I think this is an ESRI issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:29:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38240#M1005</guid>
      <dc:creator>GustavoFerrero</dc:creator>
      <dc:date>2021-12-10T21:29:22Z</dc:date>
    </item>
    <item>
      <title>Re: DeleteLayer from TOC does not release the memory.</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38241#M1006</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I had this conversation, I think it was version 8.1 something, apparently ArcMap keeps a reference to the featureclass so it can re-add it faster if you chose undo...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Have you tried the com releaser on the featurelayer.featureclass?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jul 2011 19:03:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38241#M1006</guid>
      <dc:creator>AlexanderGray</dc:creator>
      <dc:date>2011-07-19T19:03:05Z</dc:date>
    </item>
    <item>
      <title>Re: DeleteLayer from TOC does not release the memory.</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38242#M1007</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I haven't tested anything to see what happens but calling the com releaser on the feature class might hose ArcMap's reference to it (I've had this happen in other situations).&amp;nbsp; Before releasing the feature class you may want to either clear the operation stack or remove the last operation (which should be the deleting of the layer) so that ArcMap isn't hanging on to it anymore.&amp;nbsp; You can access the operation stack via IMxDocument.OperationStack.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jul 2011 19:11:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38242#M1007</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2011-07-19T19:11:48Z</dc:date>
    </item>
    <item>
      <title>Re: DeleteLayer from TOC does not release the memory.</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38243#M1008</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If I am not mistaken the original problem was with a map control, so probably engine.&amp;nbsp; But be careful if you have any other references to the featureclass in your code too because they will be just as hosed.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;As for doing it in ArcMap, I wouldn't recommend it unless you have a compelling reason (I had to do it for a file workspace because ArcMap would cache the csv file schema and wouldn't refresh even if the layer was removed, updated (with new fields) and re-added.)&amp;nbsp; I find ArcMap becomes somewhat unstable if it runs for more than a few days (some times a lot less) so I find shutdown as part of the workflow beneficial.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jul 2011 19:24:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38243#M1008</guid>
      <dc:creator>AlexanderGray</dc:creator>
      <dc:date>2011-07-19T19:24:59Z</dc:date>
    </item>
    <item>
      <title>Re: DeleteLayer from TOC does not release the memory.</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38244#M1009</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for reply,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is happening in ArcMap however I need to fix it with the ArcEngine. I've been trying to read the OperationStack property but the value is null. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you have any other idea?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But the way I'm testing the following code (which is not working :()&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ILayer layer =&amp;nbsp; (ILayer) m_mapControl.CustomProperty;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // m_mapControl.Map.DeleteLayer(layer);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IFeatureLayer pFeaLayer = (IFeatureLayer)layer;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IFeatureClass pFeaClass = pFeaLayer.FeatureClass;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IDataset pFCDataset = (IDataset)pFeaClass;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IWorkspace pWorkspace = pFCDataset.Workspace;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IDataset pWsDataset = (IDataset)pWorkspace;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (System.Runtime.InteropServices.Marshal.ReleaseComObject(pFeaClass) &amp;gt; 0) { };

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //disconnect and delete the layer from the map 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IDataLayer2 dl = (IDataLayer2)pFeaLayer;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dl.Disconnect();

&amp;nbsp;&amp;nbsp; m_mapControl.Map.DeleteLayer(layer);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (System.Runtime.InteropServices.Marshal.ReleaseComObject(pFeaLayer) &amp;gt; 0) { };

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layer = null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.GC.Collect();&amp;nbsp;&amp;nbsp; &lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gustavo.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:29:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38244#M1009</guid>
      <dc:creator>GustavoFerrero</dc:creator>
      <dc:date>2021-12-10T21:29:25Z</dc:date>
    </item>
    <item>
      <title>Re: DeleteLayer from TOC does not release the memory.</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38245#M1010</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Did you check m_mapControl.CustomProperty value after ReleaseComObject execution? You may have to use &lt;/SPAN&gt;&lt;SPAN style="font-size:2;"&gt;FinalReleaseComObject to release all&amp;nbsp; the references.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Dec 2011 14:56:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/deletelayer-from-toc-does-not-release-the-memory/m-p/38245#M1010</guid>
      <dc:creator>sapnas</dc:creator>
      <dc:date>2011-12-09T14:56:27Z</dc:date>
    </item>
  </channel>
</rss>

