- Код: Выделить всё
procedure TForm1.GeneraciyaProverka(Sender: TObject); // Процедура проверки совпадений
var n:integer;
begin
RNDS:=RNDStroka;
for n:=0 to RootNode.Count-1 do // Перебираем по порядку узлы первого уровня
begin
if RNDS=RootNode.Items[n].Text then GeneraciyaProverka(Sender);
end;
end;
RNDStroka - функция возвращает произвольно сгенерированную строку.
Если на первом уровне трейвиева процедура находит узел совпадающий названием со вновь полученной строкой, процедура перевызывает сама себя. Коректно ли так делать?
Для эксперемента заменил RNDS:=RNDStroka; на RNDS:='kjgdkjwegkdwhgekhg';
Программа при выполнении процедуры тут же вылетела с ошибкой.