Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как можно УДАЛИТЬ строки из TStringGrid так, чтобы были также удалены ОБЪЕКТЫ TString

270
28 августа 2004 года
Drew
265 / / 20.07.2000
Господа, подскажите пожалуйста, как удалить из TStringGrid строку, как из таблицы?
пропертя Selected возвращает TRect с координатами первой и последней ячейки выделенного региона доступной части таблицы.
Эта же команда позволяет выделить регион таблицы TStringGrid.
1
28 августа 2004 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Drew
Господа, подскажите пожалуйста, как удалить из TStringGrid строку, как из таблицы?
пропертя Selected возвращает TRect с координатами первой и последней ячейки выделенного региона доступной части таблицы.
Эта же команда позволяет выделить регион таблицы TStringGrid.


Очистить строку, скопировать в нее следующую, если строка последняя уменьшить количество строк на еденицу.
Если строки в таблицу добавлялись динамически - эта операция должна очистить память. Если количество строк задавалось в дизигн-тайме - память освобождена не будет до закрытия формы.

270
28 августа 2004 года
Drew
265 / / 20.07.2000
Цитата:
Originally posted by kot_

Очистить строку, скопировать в нее следующую, если строка последняя уменьшить количество строк на еденицу.
Если строки в таблицу добавлялись динамически - эта операция должна очистить память. Если количество строк задавалось в дизигн-тайме - память освобождена не будет до закрытия формы.


иными словами, увеличение и уменьшение количества строк из TStringGrid в рун-тиме влияет на количество Items и распределение памяти?

1
30 августа 2004 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Drew

иными словами, увеличение и уменьшение количества строк из TStringGrid в рун-тиме влияет на количество Items и распределение памяти?


Items - вроде как не из этой оперы? Вообще-то память после TStringGrid очищается только при закрытии формы - то есть тогда когда вызывается деструктор компонента. А при добавлении строки - память под нее выделяется. Пытаться удалять строки ручками можно - но при закрытии формы будет исключение доступа в неопределенную область памяти - так как деструктор пытается очистить память уже удаленного объекта. Есть функция удаления строки - но ее нужно перегружать в своем компоненте - в стандартном SG просто генерируется исключение. Я стараюсь не использовать этот компонент для объемных таблиц.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог