房天下 > 房天下问答 > 业主生活 > 其他
  • Delphi 7.0 总是问题 烦死啦

    unit Unit4;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;type TForm1 = class(TForm) Button1: TButton; PaintBox1: TPaintBox; PaintBox2: TPaintBox; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure PaintBox2Click(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var b:TBitmap;begin PaintBox1.Canvas.Draw(0,0,b); b.Canvas.CopyRect(Rect(PaintBox2.width,PaintBox2.Height,0,0), b.Canvas,Rect(0,0, b.width,b.height)); PaintBox2.Canvas.CopyRect(Rect(PaintBox2.width,0,0,PaintBox2.Height), b.Canvas,Rect(0,0, b.width,b.height));end;procedure TForm1.FormCreate(Sender: TObject);var b:TBitmap;begin b:=TBitmap.Create; b.Load

    提问者:gracie.l

    发布于2010-09-29

共1个回答
  • gjh628 丨Lv 0
    呵呵,b是一个临时变量,它只存在于每一段声明它的过程中,当这个过程结束时,b就被释放了。你再在FormDestroy去free这个b,当然会出错,而且一定是内存错误。建议再认真读一读教材中的全局变量和局部变量的区别。
    +1 2010-09-29 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。