Текущий архив: 2006.10.22;
Скачать: CL | DM;
Вниз
Возврат из вызываемой процедуры или функции... Найти похожие ветки
← →
ArtemESC © (2006-10-08 12:09) [0]Процедура My2 вызывает My1, как во время выполнения My1, сделать операцию Exit для My2?
То есть:procedure My1
begin
ExitMy2 (то есть выход не только из процедуры, но и из предыдущей...)
end;
procedure My2;
begin
...
My1
...
end;
Наверно, можно через стек и команду возврата замутить, но наверное есть более безопасное решение...
← →
DrPass © (2006-10-08 12:10) [1]Общепринятая практика - raise Exception.Create
← →
Percent (2006-10-08 12:12) [2]Превратить My1 в функцию и возвращать код.
function My1: boolean;
begin
Result := false;
// тут много кода, среди которого - много Exit;
Result := true;
end;
procedure My2;
begin
...
if not My1 then
Exit;
...
end;
← →
ArtemESC © (2006-10-08 12:16) [3]Percent (08.10.06 12:12) [2]
Это уже какой то изврат, наверное я сделаю как посоветовал DrPass...
← →
Percent (2006-10-08 12:18) [4]Это уже какой то изврат
На этом изврате практически весь Windows API работает.
← →
ArtemESC © (2006-10-08 12:20) [5]Percent (08.10.06 12:18) [4]
Это ты сам придумал, тем более что в сабже я интересовался как процедурой, так и функцией...
← →
Percent (2006-10-08 12:47) [6]Это ты сам придумал
ОК. Пусть будет так. Но тогда договор - ты обязуешься в своих программах никогда не проверять коды возврата функций API. По рукам?
тем более что в сабже я интересовался как процедурой, так и функцией...
Большая разница?
raise Exception.Create
Тогда уж Abort.
Страницы: 1 вся ветка
Текущий архив: 2006.10.22;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.031 c