请问:如何知道一个TBitmap对象占用内存空间的大小?
或者请教我如何做下面的填空题:var
  bmp: TBitmap;
begin
  bmp := TBitmap.Create;
  ShowMessage(?);  //第一次显示bmp对象的大小
  bmp.width := 100;
  bmp.height := 100;
  bmp.Canvas.PenPos := Point(0,0);
  bmp.Canvas.LineTo(100,100);
  ShowMessage(?);  //第二次显示bmp对象的大小
  BitBlt(bmp.Canvas.Handle,0,0,100,100,GetDC(0),0,0,SRCCOPY);   // 从当前屏幕截取图像
  ShowMessage(?);  //第三次显示bmp对象的大小
end;
请问"?"处应该如何填?谢谢! 
如果能推而广之的回答,更加感谢!

解决方案 »

  1.   

    很感谢madyak(无天)的回答不过,我试了一下,Bitmap.InstanceSize的值永远是60,这不是我想要的答案也不是Bitmap.Canvas.InstanceSize, 因为它永远是100我想要的是整个Bitmap对象占用的内存大小,包括它专有的下属对象。。
      

  2.   

    晕啊,对象大小原来是会变的。
    昨天看delphi高手突破才说对象大小是数据成员所占的内存总和,跟方法函数无关。
    看来我是被那个作者骗了。