inc(FCurIndex);
По достижению конца индекс должен указывать либо на последний индекс, либо на начало следующего цикла
------------ Дoбавленo:
Tad, я поставил _debug в контроль останова и проверил надежность отключния по стоп и окончанию цикла, вот так будет правильно
inc(FCurIndex);
if FCurIndex > FListIndex.Count - 1 then begin
if FCircleAnima then
if FStopCycle then begin
FStop := true;
FFlagDelay := false;
FCurIndex := FListIndex.Count - 1;
end else begin
FCurIndex := 0;
FFlagDelay := true;
FTimerCycle.Enabled := true;
end else begin
FStop := true;
FCurIndex := FListIndex.Count - 1;
end;
_hi_OnEvent(_event_onEndCycle);
end;
------------ Дoбавленo:
Я вот думаю, что нижние точки выкинуть надо бы, да и FCurIndex пусть всегда по-окнчанию будет равен нулю
------------ Дoбавленo:
Вот исправленный вариант -- ver 1.30 (наверное, последний)
В этой версии нет нижних точек, не понял, зачем они нужны