Тоесть сравнивать значения Old[New]ViewportPosition, и если они не равны, то меняем флаг, а в обработке лонгтапа сделать проверку на флаг?
Значения Old[New]ViewportPosition в конце скролла будут одинаковы, или как-то надо будет определить конец скроллинга?
достаточно один раз сравнить, был ли скрол
if not myFlag then
myFlag := newViewportPosition <> OldViewportPosition; // типа того, нет времени проверять
onMouseUp
myFlag := false;