Вниз
Скачать: CL | DM;

Exit   Найти похожие ветки 

 
Dmitry_177   (2007-05-06 22:55) [0]

есть примерно такой алгоритм:

try
 ...
 if .. then
   Exit;

 ...

finally
 ...
end;

Так вот посмотрев в отладчике, при вызове Exit функция вылетает, даже не выполнив то что находится в finally. Может есть какя-нибудь другая функция вместо Exit, которая так же выходит из функции, но перед этим выполнив то что находится в finally?


 
McSimm ©   (2007-05-06 23:01) [1]

после Exit блок finally выполняется.


 
{RASkov} ©   (2007-05-06 23:01) [2]

procedure TForm1.Button1Click(Sender: TObject);
begin
 try
  ShowMessage("First");
  Exit;
  ShowMessage("Midle");
 finally
  ShowMessage("End");
 end;
end;
Не видно только Midle..... и это правильно.


 
Dmitry_177   (2007-05-06 23:04) [3]

странно то что в отладчике строки в finally пролетают..


 
McSimm ©   (2007-05-06 23:05) [4]

возможно они были исключены оптимизатором.


 
Amoeba ©   (2007-05-07 15:36) [5]

Abort. Тогда несомненно будет выполнено то, что находится в finally ... end



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.035 c
2-1178371931
ctudent
2007-05-05 17:32
2007.05.27
Как получить почту?


3-1173183501
Чих-Пых
2007-03-06 15:18
2007.05.27
Кодовая страница в TTable


8-1158138002
serebrov_e_l
2006-09-13 13:00
2007.05.27
Фильтрация звука


2-1178476227
Dr.M@$
2007-05-06 22:30
2007.05.27
read write pixel (hight fps)


6-1163767232
Layner
2006-11-17 15:40
2007.05.27
Как грамотно отключить от IdTCPServer всех IdTCPClient




   Наверх