Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.053 c
6-1148991296
Забияка
2006-05-30 16:14
2006.10.22
TIdHTTPServer (Indy 10): ответ порциями без разрыва соединения


15-1159239008
Изучаю...
2006-09-26 06:50
2006.10.22
freebsd


3-1155909872
el_serpiente
2006-08-18 18:04
2006.10.22
Подключение через SQL запрок в FireBird к внешней базе данных


9-1137401771
Kerk
2006-01-16 11:56
2006.10.22
Ошибки геймдизайнера: Горячая десятка


4-1149985476
KASioZ
2006-06-11 04:24
2006.10.22
как без окон определить свой PID ?