Когда я создаю рекурсивные методы, я часто включаю параметр Depth, особенно когда мне нужен какой-то механизм спасения. Код, как правило, что-то вроде этогоВ Delphi: Как найти глубину рекурсии без использования параметра?
procedure Recurse(<Params>; aDepth : integer = 0);
begin
if aDepth > SomeLimit then
begin
//Tidy up, return best result found>
exit;
end;
<stuff>
if <Condition> then
Recurse(<Params>; aDepth+1)
else
begin
//Tidy up, return result of endnode>
end;
end;
И я называю это без глубины параметра
Recurse(<Params>);
Есть еще один способ легко найти глубину?
Вы хотите, чтобы чистое решение Delphi, или вы готовы отказаться от ассемблера? – dthorpe
Нет, мне не нужен ассемблер. Я надеялся на решение, которое было _simpler_, тогда мой нынешний подход. –