2011-11-10 20 views
0

我正在實施自定義數據源的過程。由於我正在對序列化機制進行更改,因此在重新啓動項目時,我在輸入數據樹中會收到很多過時的對象條目(無法從數據源讀取對象)。如何從輸入樹中刪除這些對象,正常的刪除功能對這些對象不起作用。如何刪除過時的自定義海洋對象

+0

什麼是海洋? – leppie

回答

1

海洋是斯倫貝謝爲其軟件產品構建插件的平臺,最着名的是Petrel - 一種地質建模程序。

至於從輸入樹刪除的對象,我認爲該代碼可能是:

Slb.Ocean.Petrel.PetrelProject.PrimaryProject.Extensions.Remove(objectToRemove);

按照SLB培訓課程,你做相反的事情(Extensions.Add())添加自定義的對象到樹。

+0

我發佈這個東西之後記得的東西是,你可以通過讓對象實現IDeletable接口來明確地使對象可刪除。你不必在界面方法中做任何事情;只要你有他們,海洋將處理實際刪除。不過,您必須實例化您從DeletableInfo返回的對象,並將arg設置爲true。 – Aaron

3

只通過Petrel用戶界面還有一個解決方案。確保沒有任何組件嘗試解析對象(將Petrel配置更改爲不加載模塊,將它們從探測路徑中移除)。

當這些對象完全未知且無法解析時,鼠標右鍵將提供刪除選項。執行刪除將從樹中刪除項目。

有關對象序列化(和升級)的一般處理,請參閱Ocean.chm幫助文件的Slb.Ocean.Petrel.Data命名空間部分。在這裏你會發現更多的提示和服務。