Как-то не понятно отрабатывает трассировка кода:
begin
if StrToInt(Edit1.Text) < 10 then
begin
showmessage('Hi');
exit;
end;
end;
при:
"Edit1.Text = 20" и соответственно условие выдает false, компилятор тормозится на breakpoint строки "exit", но пропускает вывод сообщения.
Когда по идее, в этот блок он вообще не должен попадать.
Ответ
Это оптимизация компилятора. Просто Exit; избыточен внутри блока begin..end в данном контексте. Добавьте строчку кода после первого end; и увидите, что все работает как надо.
begin
if StrToInt(Edit1.Text) < 10 then
begin
showmessage('Hi');
exit;
end;
showmessage('Bye');
end;
Комментариев нет:
Отправить комментарий