錯誤提示內容:
{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這樣的錯誤弄的一頭霧水。