При работе с таблицей строк TStringGrid иногда возникает потребность удалить содержимое таблицы. Обычно это делается простым изменением количества строк и столбцов. Однако только этого может быть недостаточно.
Рассмотрим небольшой пример:
this->StringGrid1->RowCount = 15; for(int i = 0; i < 15; ++i) this->StringGrid1->Cells[0][i] = IntToStr(i); this->StringGrid1->RowCount = 5;
В данном примере мы построчно выводим в таблицу числа от 0 до 14, а потом уменьшаем количество строк до 5. К чему это приведет? Таблица будет состоять из 5 строк. А что случится с другими строками?
Для ответа на этот вопрос вновь увеличим количество строк.
this->StringGrid1->RowCount = 15;
При этом мы опять увидим наши числа от 0 до 14. Получается, что при изменении размера таблицы, «лишние» строки просто скрываются но не удаляются. Это необходимо учитывать при разработке приложений.
Такое же поведение справедливо для Embarcadero RAD Studio 10.