<font face="monospace">Hi There,</font><div><font face="monospace"><br></font></div><div><font face="monospace">Why the following code generated SIGFPE on BitBlt?</font></div><div><br></div><div><font face="monospace">=======================================</font></div><div><font face="monospace">procedure TForm1.Button1Click(Sender: TObject);</font></div><div><font face="monospace">var</font></div><div><font face="monospace">  png: TPortableNetworkGraphic;</font></div><div><font face="monospace">  ScreenDC, ClipDC: HDC;</font></div><div><font face="monospace">  r: TRect;</font></div><div><font face="monospace">begin</font></div><div><font face="monospace">  r := Rect(0, 0, 300, 200);</font></div><div><font face="monospace">  png := TPortableNetworkGraphic.Create;</font></div><div><font face="monospace">  ScreenDC := GetDC(0);</font></div><div><font face="monospace">  ClipDC := CreateCompatibleDC(ScreenDC);</font></div><div><font face="monospace">  BitBlt(ClipDC, 0, 0, r.Right - r.Left, r.Bottom - r.Top, ScreenDC, r.Left, r.Top, SRCCOPY);</font></div><div><font face="monospace">  png.LoadFromDevice(ClipDC);</font></div><div><font face="monospace">  DeleteDC(ClipDC);</font></div><div><font face="monospace">  ReleaseDC(0, ScreenDC);</font></div><div><font face="monospace">  png.SaveToFile('test.png');</font></div><div><font face="monospace">end;</font></div><div><font face="monospace">=======================================</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">I am on Ubuntu GTK2 and hope this code to run cross platform.</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">Thanks</font></div>