这个BMP.FREE为什么出错?
时间:2011-08-26
来源:互联网
F10,F11为全局热键,要实现的功能为:按F10时创建bmp,bmp1,并响应执行F10热键代码。按F11时跳出循环体,
并释放bmp,bmp1,但在运行时按了F11后提示错误,删除了bmp.free,bmp1.free后就不会提示错误了。
var
From1:TForm1;
bool:boolean;
procedure TForm1.hotkey(var msg:tmessage);
var
bmp,bmp1:tbitmap;
bool2,bool3:boolean;
begin
if msg.LParamHi=vk_f11 //按F11停止
then begin
bool:=false;
bmp.free;
bmp1.free; //*****放在这里提示错误
end
else begin
bmp:=tbitmap.Create;
bmp1:=tbitmap.Create;
bmp.LoadFromFile('c\1.bmp');
bmp1.LoadFromFile('c:\2.bmp');
bool:=true; //bmp的创建放在这里是避免每次按F10时重复bmp。create
end;
if msg.LParamHi=vk_f10 //按F10开始
then begin
while bool do
begin
while bool2 do
begin
//这里面要用到bmp和bmp1
...
end;
Application.ProcessMessages;
if bool=false then break;
while bool2 do
begin
//这里面也要用到bmp和bmp1
...
end;
Application.ProcessMessages;
if bool=false then break;
.....
end;
end;
并释放bmp,bmp1,但在运行时按了F11后提示错误,删除了bmp.free,bmp1.free后就不会提示错误了。
var
From1:TForm1;
bool:boolean;
procedure TForm1.hotkey(var msg:tmessage);
var
bmp,bmp1:tbitmap;
bool2,bool3:boolean;
begin
if msg.LParamHi=vk_f11 //按F11停止
then begin
bool:=false;
bmp.free;
bmp1.free; //*****放在这里提示错误
end
else begin
bmp:=tbitmap.Create;
bmp1:=tbitmap.Create;
bmp.LoadFromFile('c\1.bmp');
bmp1.LoadFromFile('c:\2.bmp');
bool:=true; //bmp的创建放在这里是避免每次按F10时重复bmp。create
end;
if msg.LParamHi=vk_f10 //按F10开始
then begin
while bool do
begin
while bool2 do
begin
//这里面要用到bmp和bmp1
...
end;
Application.ProcessMessages;
if bool=false then break;
while bool2 do
begin
//这里面也要用到bmp和bmp1
...
end;
Application.ProcessMessages;
if bool=false then break;
.....
end;
end;
作者: ymxuymxu 发布时间: 2011-08-26
当然会提示错误,没有创建是不能释放的。
bmp:=tbitmap.Create;
bmp1:=tbitmap.Create;
bmp.free;
bmp1.free;
bmp:=tbitmap.Create;
bmp1:=tbitmap.Create;
bmp.free;
bmp1.free;
作者: ljklxlj 发布时间: 2011-08-26
bmp,bmp1:tbitmap;
bool2,bool3:boolean;
如果是需要跨事件有效的,不能定义在事件里,而是应该在Tform1里
bool2,bool3:boolean;
如果是需要跨事件有效的,不能定义在事件里,而是应该在Tform1里
作者: sz_haitao 发布时间: 2011-08-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28