好,(我),我設法調查的一個小時後,固定在我身邊這個問題。
在VB.NET(v4。0 VS-SP1),我發現一個錯誤,其中編譯器不會引發錯誤,也不會產生錯誤:智能感知:
注意下面,如果我在函數中添加以下行(程序中的任何位置,Class/Module/Form在/ etc):
MyGraphics.DrawImage(OriginalImage.Clone(New System.Drawing.Rectangle(ClipX1, ClipY1, ClipW, ClipH), Drawing.Imaging.PixelFormat.Format24bppRgb), 0, 0, TempWidth, TempHeight)
編譯器甚至打功能之前,在調試時,它甚至沒有達到行(徒添functoin拋出這個錯誤,使編譯器被嚇得連進入的這個功能)。
我從我的代碼中的另一個函數複製了一行,現有的函數可以正常工作,但是新函數沒有。說實話很令人震驚。現在
,我又反覆檢查,發現病因,爲OriginalImage
對象定義爲在正在操作的代碼Bitmap
,但是,我在一個沒有工作將它定義爲一個Image
。
我進一步去了上面的代碼行,並檢查上面的「克隆」功能所採用的參數/參數,Bitmap
實例中的參數具有正確的參數和3個變形(即3個不同的參數組可以調用該函數),但是,對於Image
類型實例,Clone
不帶參數!
我是相當shoekd看到這個,問題是,我沒有得到任何錯誤,也沒有在IntelliSense警告,也沒有編譯錯誤,代碼編譯好,但功能無法執行,我相信這是.NET中的一個bug(Ahem ... a Feature)。
修復它是將system.drawing.Image
更改爲system.drawing.Bitmap
,代碼後來工作。
我希望這有助於
親切的問候 海德
檢查項目引用,這對我來說 – 2012-03-02 00:23:22