т.е.
- Код: Выделить всё
procedure TForm1.MenuItem1Click(Sender: TObject);
begin
pbegin;
///
///
///
////
end;
procedure pbegin;
begin
здесь сделать
if ... then exit; /// Чтобы exit сработал в процедуре которая вызвала.
end;
Модератор: Модераторы
procedure TForm1.MenuItem1Click(Sender: TObject);
begin
pbegin;
///
///
///
////
end;
procedure pbegin;
begin
здесь сделать
if ... then exit; /// Чтобы exit сработал в процедуре которая вызвала.
end;
procedure TForm1.MenuItem1Click(Sender: TObject);
begin
if pbegin then exit;
...
end;
function pbegin: boolean;
begin
if ... then exit(true);
...
result := false;
end;
iN0k писал(а):в качестве плохого паттена проэктирования:
процедуру pbegin; сделать inline;.
проверенно будет работать.
Связанную с этим паттеном ошибку у себя как-то искать запарился )))
В связи с этим процедуру EXIT не использую
procedure pbegin; inline;
begin
if belka=false then exit;
end;
ivanov1 писал(а):инлайн не сработал
окДелай как sign говорит, с поправкой Лекс Айрин!!! Это наверно самый ПРАВИЛЬНЫЙ вариант, который он будет работать всегда.
iN0k писал(а):вот ... звезды не сошлись ... а иногда могут и сойтись (обычно это при -О3) ...
iN0k писал(а):проверенно будет работать
procedure TForm1.MenuItem1Click(Sender: TObject);
begin
if pbegin then exit;
...
end;
function pbegin: boolean;
begin
Result := belka=false;
end;
Лекс Айрин писал(а):Как правило, если он используется, то значит программист не очень хорошо проработал код в данном месте программы.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 211