在Delphi 2007與Delphi XE2中聲明HDC類型(Device Context Handle)的方式有所不同。D2007與DXE2中的Delphi HDC類型聲明
在D2007下面的代碼工作正常,但產生在DXE2範圍檢查錯誤:
Control.Parent.Perform(WM_PAINT, Integer(DC), 0);
當通過代碼D2007步進DC(設備上下文)的值似乎總是小於MAXINT但是在DXE2中,DC的值通常大於MaxInt。
爲什麼在同一臺機器(相同的項目,相同的代碼,相同的OS)上運行時,D2007和DXE2中的DC值不同?
將DC轉換爲WParam(我認爲這是一個無符號整數)是否安全?
我強烈建議你採用鑄造'WParam',這應該在兩個環境中編譯。 – OnTheFly 2013-03-28 21:46:34