но ведь мы же размер увеличиваем на единицу почему -1??
после того, как
размер увеличиваем на единицу, ты берёшь Length(P), который уже стал больше на единицу.
например, Length(P) = 5;
после
Код:
SetLength(P, Length(P)+1);
Length(P) = 6;
а здесь и будет ошибка