1. 程式人生 > >ArcGIS “Error HRESULT E_FAIL has been returned from a call to a COM component.” 異常的解決

ArcGIS “Error HRESULT E_FAIL has been returned from a call to a COM component.” 異常的解決

exce run sys 簡單 mpc mco pre amp back

錯誤提示內容:

{System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at ESRI.ArcGIS.Display.AlgorithmicColorRampClass.CreateRamp(Boolean& ok) ...


寫了一個簡單的函數:

public IColorRamp CreateColorRamp(IColor fromColor, IColor toColor, int
count) {   IAlgorithmicColorRamp pRampColor;   bool ok = true;   pRampColor = new AlgorithmicColorRampClass();   pRampColor.FromColor = fromColor;   pRampColor.ToColor = toColor; // ... missing size sentence   pRampColor.CreateRamp(out ok);   return pRampColor as IColorRamp; }

後來仔細檢查代碼,發現在以上黃色語句處少了pRampColor.Size = count;這句話,導致創建彩色條帶的失敗。但是僅僅給出“Error HRESULT E_FAIL has been returned from a call to a COM component.”這樣的錯誤,我對ArcGIS的異常提示也是醉了,鬼知道這是什麽錯誤。所以說在不考慮ArcGIS那幾處優秀的設計地方外,可以說ArcGIS這個系統軟件做的十分爛。

備註一下,省的以後再被ArcGIS這樣的錯誤弄的一頭霧水。

ArcGIS “Error HRESULT E_FAIL has been returned from a call to a COM component.” 異常的解決