**原文 arcgis engine中正確釋放開啟資源
ae中對mdb,sde等資料庫操作時,開啟後卻往往不能及時釋放資源,導致別人操作提示物件被鎖定。
很多帖子說了很多原理,看的也煩且不實用,比如一句話概括的用system.runtime.interopservices.marshal.releasecomobject(object o)釋放,說的很不清楚,很多人試過覺的釋放不掉。
事實上,的確是用該方法,但釋放的技巧在於,新建幾個ae物件就要逐步釋放幾個,例如:
iworkspacefactory fact = new accessworkspacefactoryclass ();
ifeatureworkspace workspace = fact.open(propset,0) as ifeatureworkspace;
ifeatureclass fcls = workspace.openfeatureclass ("district");
ifeaturelayer fly = new featurelayerclass();
……ifeature pf
ifield pfield
……再物件執行結束時釋放,如:
system.runtime.interopservices.marshal.releasecomobject(fact);
system.runtime.interopservices.marshal.releasecomobject(workspace);
system.runtime.interopservices.marshal.releasecomobject(fcls);
system.runtime.interopservices.marshal.releasecomobject(fly);
system.runtime.interopservices.marshal.releasecomobject(pf);
system.runtime.interopservices.marshal.releasecomobject(pfield);
看到吧,千萬不要以為你釋放了等級最高的 iworkspacefactory, iworkspace就算完事了。沒辦法,ae有時就這麼難以理解的麻煩。
沒有整理與歸納的知識,一文不值!高度概括與梳理的知識,才是自己真正的知識與技能。 永遠不要讓自己的自由、好奇、充滿創造力的想法被現實的框架所束縛,讓創造力自由成長吧! 多花時間,關心他(她)人,正如別人所關心你的。理想的騰飛與實現,沒有別人的支援與幫助,是萬萬不能的。
ArcGIS Engine中正確釋放開啟資源
原文 arcgis engine中正確釋放開啟資源 ae中對mdb,sde等資料庫操作時,開啟後卻往往不能及時釋放資源,導致別人操作提示物件被鎖定。很多帖子說了很多原理,看的也煩且不實用,比如一句話概括的用system.runtime.interopservices.marshal.releasec...
ArcGIS Engine中正確釋放開啟資源
原文 arcgis engine中正確釋放開啟資源 ae中對mdb,sde等資料庫操作時,開啟後卻往往不能及時釋放資源,導致別人操作提示物件被鎖定。很多帖子說了很多原理,看的也煩且不實用,比如一句話概括的用system.runtime.interopservices.marshal.releasec...
ArcGIS Engine中正確釋放開啟資源《轉》
很多帖子說了很多原理,看的也煩且不實用,比如一句話概括的用system.runtime.interopservices.marshal.releasecomobject object o 釋放,說的很不清楚,很多人試過覺的釋放不掉。事實上,的確是用該方法,但釋放的技巧在於,新建幾個ae物件就要逐步釋...