<?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 Re: Select layer by location puts persistent lock on underlying shapefile in Geoprocessing Questions</title>
    <link>https://community.esri.com/t5/geoprocessing-questions/select-layer-by-location-puts-persistent-lock-on/m-p/296249#M10268</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks very much for your response, but sadly Delete_management does not do the trick.&amp;nbsp; When SelectLayerByLocation is used, the lock file persists.&amp;nbsp; Also, tried clearing the selection with SelectLayerByAttribute after selecting by location.&amp;nbsp; No effect either.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 14 Jan 2011 19:00:38 GMT</pubDate>
    <dc:creator>ErikaDade</dc:creator>
    <dc:date>2011-01-14T19:00:38Z</dc:date>
    <item>
      <title>Select layer by location puts persistent lock on underlying shapefile</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/select-layer-by-location-puts-persistent-lock-on/m-p/296247#M10266</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;When using the Geoprocessor, making a layer from a shapefile and then making a selection in the layer by location results in a persistent lock file associated with the original shapefile.&amp;nbsp; If I do selection by attribute instead then the lock file will go away when the internal layer and shapefile are deleted.&amp;nbsp; ArcMap has to be closed to run the geoprocessing operation more than once because the lock file persists.&amp;nbsp; I have posted on this before for 9.2/9.3 in reference to multiple geoprocessing runs within a single ArcMap session.&amp;nbsp; With the release of 10.0, the new lock files allowed me to further trace the problem.&amp;nbsp;&amp;nbsp;&amp;nbsp; Any ideas on how to clean up would be great!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; Test function follows.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;HRESULT CVectorizationDlg::GPtest()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; AFX_MANAGE_STATE(AfxGetStaticModuleState());&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; HRESULT hr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; ::CoInitialize(NULL);&amp;nbsp; // Before any ArcObjects AND&amp;nbsp; must scope what follows before AoUninitialize()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; IGeoProcessor2Ptr ipGP(CLSID_GeoProcessor);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; IGeoProcessorResultPtr ipResult;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; CComBSTR bsMessages;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; CString cMsg;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Don't add temp layers to map document&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VARIANT_BOOL bOut;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; bOut = FALSE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //bOut = TRUE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipGP-&amp;gt;put_AddOutputsToMap(bOut);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Do overwrite temp layers on disk&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VARIANT_BOOL bOverwrite;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; bOverwrite = TRUE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipGP-&amp;gt;put_OverwriteOutput(bOverwrite);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Temp map layers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; VARIANT_BOOL bTempMapLayers;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; bTempMapLayers = TRUE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipGP-&amp;gt;put_TemporaryMapLayers(bTempMapLayers);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Singleton object!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; IGPUtilitiesPtr ipGPUtil(CLSID_GPUtilities);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Get scratch working directory&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; CString sTempDir = "c:\\temp\\arcsie\\erikadade\\vector\\";&amp;nbsp; // A directory that you can delete&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; sTempDir = TempDir();&amp;nbsp; // This creates it on a local preferred path if it doesn't exist&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (sTempDir == "") return E_FAIL;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; CComBSTR bOldWorkPath;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; CComBSTR bTempDir(sTempDir);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipGPUtil-&amp;gt;get_Workspace(&amp;amp;bOldWorkPath);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipGPUtil-&amp;gt;put_Workspace(bTempDir);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipGPUtil-&amp;gt;put_RefreshCatalogParent(-1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Keep track of all layers/files added so we can delete them at the end&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; std::vector&amp;lt;CString&amp;gt; vShapefileList;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; int nShape = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Build the array of variant paramters&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; IVariantArrayPtr ipValues(CLSID_VarArray);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // COPY FEATURES&amp;nbsp; --&amp;nbsp; to a temp shapefile&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; CString sIn = "C:\\users\\erika dade\\arcgis\\xunarc10.0\\vectors\\v.shp";&amp;nbsp; // Any old feature shapefile&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; vShapefileList.push_back(sTempDir + "copy.shp");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipValues.CreateInstance(CLSID_VarArray);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipValues-&amp;gt;Add(_variant_t(sIn)); // Input Feature Class&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipValues-&amp;gt;Add(_variant_t("copy.shp")); // Output Feature Class&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ipResult.CreateInstance(CLSID_GeoProcessorResult);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipGP-&amp;gt;Execute(L"CopyFeatures_management", ipValues, 0, &amp;amp;ipResult);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (FAILED(hr)) { &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ipResult-&amp;gt;GetMessages(0, &amp;amp;bsMessages);&amp;nbsp; cMsg = bsMessages;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; MessageBox(cMsg, "Vectorization (GP-test1)", MB_OK);::SysFreeString(bsMessages); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ipResult = 0; ipGP = 0; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; return hr; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //&amp;nbsp; MAKE LAYER&amp;nbsp; -- this creates lock file on copy shapefile in temp directory&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipValues.CreateInstance(CLSID_VarArray);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipValues-&amp;gt;Add(_variant_t("copy.shp")); // Input Feature Class&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipValues-&amp;gt;Add(_variant_t(L"copyL")); // Output Feature Layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; vShapefileList.push_back("copyL");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ipResult.CreateInstance(CLSID_GeoProcessorResult);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipGP-&amp;gt;Execute(L"MakeFeatureLayer_management", ipValues, 0, &amp;amp;ipResult);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (FAILED(hr)) { &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ipResult-&amp;gt;GetMessages(0, &amp;amp;bsMessages);&amp;nbsp; cMsg = bsMessages;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; MessageBox(cMsg, "Vectorization (GP-test2)", MB_OK);::SysFreeString(bsMessages); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ipResult = 0; ipGP = 0; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; return hr; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //&amp;nbsp; SELECT INTERSECTION&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // -- do this BY LOCATION and it will not release lock file on shapefile&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (MessageBox("Set another lock through SelectLayerByLOCATION?", "GP Test", MB_YESNO) == IDYES)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; CString outerPoly = "C:\\users\\erika dade\\arcgis\\xunarc10.0\\vectors\\vOuter.shp";&amp;nbsp; // boundary of feature shapefile&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipValues.CreateInstance(CLSID_VarArray);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipValues-&amp;gt;Add(_variant_t(L"copyL"));&amp;nbsp; // Input feature layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipValues-&amp;gt;Add(_variant_t(L"SHARE_A_LINE_SEGMENT_WITH")); // No tol, NEW SELECTION&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipValues-&amp;gt;Add(_variant_t(outerPoly)); // Intersect feature class&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipResult.CreateInstance(CLSID_GeoProcessorResult);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipGP-&amp;gt;Execute(L"SelectLayerByLocation_management", ipValues, 0, &amp;amp;ipResult);&amp;nbsp; // This puts another? lock on shapefile "copy" !!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (FAILED(hr)) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ipResult-&amp;gt;GetMessages(0, &amp;amp;bsMessages);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cMsg = bsMessages;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox(cMsg, "Vectorization (GP-test3)", MB_OK);::SysFreeString(bsMessages);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ipResult = 0; ipGP = 0; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return hr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // -- do this BY ATTRIBUTE and it WILL release lock file on shapefile&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (MessageBox("Set another lock through SelectLayerByATTRIBUTE?", "GP Test", MB_YESNO) == IDYES)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; CString sSelect;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; sSelect.Format("\"ID\" &amp;lt;&amp;gt; -9999"); &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipValues.CreateInstance(CLSID_VarArray);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipValues-&amp;gt;Add(_variant_t(L"copyL")); // Input Feature Layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipValues-&amp;gt;Add(_variant_t(L"NEW_SELECTION")); // Exclusive new selection&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipValues-&amp;gt;Add(_variant_t(sSelect));&amp;nbsp; // SQL&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; ipResult.CreateInstance(CLSID_GeoProcessorResult);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; hr = ipGP-&amp;gt;Execute(L"SelectLayerByAttribute_management", ipValues, 0, &amp;amp;ipResult);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (FAILED(hr)) { &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ipResult-&amp;gt;GetMessages(0, &amp;amp;bsMessages);&amp;nbsp; cMsg = bsMessages;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox(cMsg, "Vectorization (GP-test4)", MB_OK);::SysFreeString(bsMessages); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ipResult = 0; ipGP = 0; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return hr; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //===================================================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //&amp;nbsp; Tidy up&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //===================================================&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ipResult = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // If you leave the temp shape files (with .LOCK file) then can overwrite successfully.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // If delete the temp shape files (but not .LOCK file) then cannot write new shapefile by same name&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; bool bDeleteTemp = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (MessageBox("Delete temp files/layers/dir?", "GP Test", MB_YESNO) == IDNO) bDeleteTemp = false;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (bDeleteTemp) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; bool bDel = false;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; for (int i=0; i&amp;lt;vShapefileList.size(); i++) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CString name(vShapefileList.at(i));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CString layerName = dropFileSuffix(extractFileName(name));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CComBSTR bLayerName(layerName);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hr = ipGPUtil-&amp;gt;RemoveInternalLayer(bLayerName);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bLayerName.Empty();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bDel = DeleteGPTempFile(name); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; vShapefileList.clear();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Both of these things necessary for multiple geoprocessor runs&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipGPUtil-&amp;gt;ReleaseInternals();&amp;nbsp; // Critical !!!&amp;nbsp;&amp;nbsp;&amp;nbsp; 11/2008&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipGPUtil-&amp;gt;put_RefreshCatalogParent(-1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; hr = ipGPUtil-&amp;gt;put_Workspace(bOldWorkPath);&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ipValues = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ipResult = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ipGPUtil = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ipGP = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Will need to delete temp directory for client&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //if (bDeleteTemp) DeleteFolder(sTempDir);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; // Uninitialize COM&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; ::CoUninitialize();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; return hr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jan 2011 16:41:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/select-layer-by-location-puts-persistent-lock-on/m-p/296247#M10266</guid>
      <dc:creator>ErikaDade</dc:creator>
      <dc:date>2011-01-13T16:41:06Z</dc:date>
    </item>
    <item>
      <title>Re: Select layer by location puts persistent lock on underlying shapefile</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/select-layer-by-location-puts-persistent-lock-on/m-p/296248#M10267</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Try deleteing the feature layer (the one(s) that reference the shapefile).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Use the Delete_managment geoprocessing tool.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jan 2011 20:36:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/select-layer-by-location-puts-persistent-lock-on/m-p/296248#M10267</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2011-01-13T20:36:47Z</dc:date>
    </item>
    <item>
      <title>Re: Select layer by location puts persistent lock on underlying shapefile</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/select-layer-by-location-puts-persistent-lock-on/m-p/296249#M10268</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks very much for your response, but sadly Delete_management does not do the trick.&amp;nbsp; When SelectLayerByLocation is used, the lock file persists.&amp;nbsp; Also, tried clearing the selection with SelectLayerByAttribute after selecting by location.&amp;nbsp; No effect either.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Jan 2011 19:00:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/select-layer-by-location-puts-persistent-lock-on/m-p/296249#M10268</guid>
      <dc:creator>ErikaDade</dc:creator>
      <dc:date>2011-01-14T19:00:38Z</dc:date>
    </item>
  </channel>
</rss>

