Цитата:
Сообщение от Electronic_Arts
Код:
type
TBuffer = array of Char;
Код:
SetLength(P, Length(P)+1);
P[Length(P)]:= #0;
end;
но ведь мы же размер увеличиваем на единицу почему -1??
|
Размер увеличили, поэтому Length(P) во второй строке вернёт число на единицу больше чем Length(P) в первой строке и опять будет выход за пределы массива, поэтому увеличивай хоть на "тыщу", но такая строка для динамических массивов буде всегда некорректной:
Нужно делать либо так:
либо так:
Цитата:
Сообщение от Electronic_Arts
И еще одно это проблема начала возникать после того как я решил все предупреждения в логах... до этого все работало без ошибок
|
Я не понимаю что значит "
решил все предупреждения в логах"...