小弟初学DELPHI,请问:
try
finally
with ProgressBar1 do
分别代表什么意思?
try
finally
with ProgressBar1 do
分别代表什么意思?
解决方案 »
- 想问一下delphi开发的网络通信方面的软件是怎么通信的?
- 关于chart控件问题.
- 100分求助!fillchar 和 zeromemory 的区别
- 编译错误,为什么系统不能找到'TKeyBuffer'?
- 怎样最小化和关闭所有窗口?
- 关于在制作安装程序时创建ODBC的问题
- 打印问题
- 關於COM
- @@@@@ D5程序升级到D6时出现严重错误。你能解决吗?因为觉得几乎没有解决的希望,所以也不给高分了。 // adailee 2002-04-28
- kol---------让你程序只有几K。这个控件怎么用,有人用过吗?
- 如何让用户自己设计窗口,并在窗口中添加控件?
- 用usb摄相头如何及时显示所摄图象?
防止出现异常的代码
finally
总是要执行的语句 例如释放掉窗体
with ProgressBar1 do
后面是不是改变进度条的进度
1
except
2
end;
尝试执行1,如果在执行1的过程中出现异常就去执行2try
1
finally
2
end;
尝试执行1,不管是否发生异常都去执行2with .. doProgressBar1.Left := ....
ProgressBar1.Top := ....
==>
with ProgressBar1 do
begin
Left := ...
Top := ...
end;
dosomething1;
dosomething2;
finally
dosomething3;
end;
这是一个异常保护结构
当 dosomething1;出错就直接执行 dosomething3;,要是 dosomething1;没有出错就执行 dosomething2;然后再执行 dosomething3;比如创建一个窗体form1:=TForm1.Create(self);
try
form1.show;
.....
.....
.....
finally
FreeAndNil(form1);
end;
就是说无论在那里出错了,只要执行了form1:=TForm1.Create(self);后,就释放Form1与之相对应的是
try
dosomething1;
dosomething2;
except
dosomething3
end;
当dosomething1;错了,就直接执行dosomething3;否则就执行dosomething2;要是dosomething1;和dosomething2;都没有错 就直接跳出保护了
另外 abort;这个过程不能跳出try finally end 这个结构 只能跳出try except end
with ProgressBar1 do
这是一个开域语句
上例中
可以这样写
with form1 do
begin
show;
hide;
end;
这样可以代替
form1.show;
form1.hide;