ArcGIS Engine 10 開發常見問題的解決方法


【都是自己在開發過程中遇到的問題,寫出來與大家共享,讓同道人少走些彎路!有寫的不對的地方還請大家指正!】

環境:Win7 64bit + VS2010 + AE10.0
Q1:You are not Licensed for 彈出提示框,點擊確定,VS工程自動關閉!

Analysis: LicenseControl被我們拖入窗體中,由於使用SDE數據庫,或者其他高級功能,僅授權Engine許可無法滿足我們的需要,所以我們會通過右鍵屬性,將其授權改成ArcInfo或者Engine Enterprise Geo等等,由此造成了上述問題!

Solution:在該窗體的初始化代碼中添加如下代碼,將授權更改為ArcInfo完全權限或其他。

1         public MainForm()
2         {
3             InitializeComponent();
4             //解決LicenseControl右鍵屬性改為ArcInfo或其他后總彈出"You are not Licensed for"然后VS自動關閉的問題
5             IAoInitialize pAoInitialize = new AoInitializeClass();
6             esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable;
7             licenseStatus = pAoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcInfo);
8         }

或者

 1 IAoInitialize m_AoInitialize = new AoInitializeClass();
 2 esriLicenseStatus pLicesestatus = (esriLicenseStatus)m_AoInitialize.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);
 3 if (pLicesestatus == esriLicenseStatus.esriLicenseAvailable)
 4 {
 5 if (pLicesestatus != esriLicenseStatus.esriLicenseCheckedOut)
 6 {
 7 pLicesestatus = (esriLicenseStatus)m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);
 8 }
 9 else
10 {
11 System.Windows.Forms.MessageBox.Show("程序初始化失敗");
12 }
13 }
14 else
15 {
16 System.Windows.Forms.MessageBox.Show("沒有程序運行許可");
17 }

(需要把LicenseControl控件刪除,如果LicenseControl中選擇了Engine授權或包括Engine的多個授權,仍然只能讀到Engine授權,否則在運行到CreatFeatureClass()等方法時還是會報錯!)

-------------------------------------------------------------------------------------
Q2:ArcMap中無法啟動編輯SDE中的圖層。

Analysis:

Solution: 這個在ArcMap中會有提示如何解決,具體操作就是,打開Catolog,找對想要編輯的圖層,右鍵點擊“Register As Versioned...”

然后就可以在ArcMap中編輯了。 不過隨之而來又會引起Q3.
-------------------------------------------------------------------------------------
Q3: 在調用IFeature.Store()等一些方法時又會報出組件異常錯誤(ComException)

Analysis:

Solution: 只能刪除這個圖層,重新建一個這樣的圖層了。。。Bug


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM