В том месте, где согласно всей логике функция должна возвращать false я упорно получаю true.
Открываю код функции:
function TClassName.weHaveIt(CodPod: Integer): Boolean;
var
i:Integer;
begin
for i:=0 to Count-1 do
begin
Result:=Result or (Self[i].Rasdel=CodPod)
end;
end;
Заведомо известно, что Self[i].Rasdel=CodPod - всегда в данном куске программы будет false, однако! Функция возвращает true. Немного побаловавшись с отшагиванием, решил проверить чему равен Result до начала цикла.
Бинго! Result по умолчанию равен true!!!
Конечно, не проблема ставить везде предварительное значение для Result в false, но почему так?
Вечером надо будет поковыряться в документации...
Комментариев нет:
Отправить комментарий