为什么内存一直在增长??? 找小企业财务管理软件
procedure TForm1.Timer1Timer(Sender: TObject);
var
fDoorBmp:TBitMap;
begin
fDoorBmp:=TBitMap.Create;
fDoorBmp.LoadFromFile(''DoorInvalid.BMP'');
Image1.Picture.Bitmap:=fDoorBmp;
fDoorBmp.Free;
end;
2楼: 代码一直执行,不断的加载图片,所以内存会增加啊! 如简单进销存管理软件
3楼: 正确的写法
IF 文件存在
Image1.Picture.Bitmap.LoadFromFile(''DoorInvalid.BMP'');
另一写法
....
begin
fDoorBmp:=TBitMap.Create;
fDoorBmp.LoadFromFile(''DoorInvalid.BMP'');
Image1.Picture.Bitmap.Assign(fDoorBmp);
..........
4楼: 正确的写法
IF 文件存在
Image1.Picture.Bitmap.LoadFromFile(''DoorInvalid.BMP'');
另一写法
....
begin
fDoorBmp:=TBitMap.Create;
fDoorBmp.LoadFromFile(''DoorInvalid.BMP'');
Image1.Picture.Bitmap.Assign(fDoorBmp);
..........
这两种方法我都试过了,但内存还是一直在增长,是不是还有其它办法呀???
5楼: 你的时间器太快了
最前加一句
Timer1.Enabled:=false;
fDoorBmp:=TBitMap.Create;
.......
Timer1.Enabled:=true;
end;
6楼: 还是不行呀,怎么回事呀???
库存管理软件版7楼: 直接用Image1.Picture.Bitmap.LoadFromFile(''DoorInvalid.BMP'');
8楼: Image1.Picture.LoadFromFile(''DoorInvalid.BMP'');
9楼: 试过了,还是不行
10楼: 看看别的地方,光这段没什么问题
11楼: 代码就这些了,我也觉得很奇怪,但内存就是缓慢增长
12楼: 你把timer1的时间间隔改大一点! 如小企业财务管理软件
13楼: 我已经把原来的一秒该为三秒了,但还是一样,会不会是Image1控件的问题?????
库存管理软件版14楼: 把变量定义为private
var
fDoorBmp:TBitMap;
例如在formshow中创建
fDoorBmp:=TBitMap.Create;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
fDoorBmp.LoadFromFile(''DoorInvalid.BMP'');
Image1.Picture.Bitmap:=fDoorBmp;
end;
formclose时释放
fDoorBmp.Free;
15楼: 这样的话增长得更快,fDoorBmp没有释放
16楼: 你的DELPHI什么版本啊,我这可不会有你这样情况的啊
17楼: delphi7.0
18楼: 多人接受答案了。
19楼: 这是delphi里面一个奇怪的现象
要先释放对象里面的Bitmap,然后再释放对象