Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ListView: нужно ли освобождать память в Data перед вызовом Clear? / 8 сообщений из 8, страница 1 из 1
15.04.2020, 14:36
    #39947502
ListView: нужно ли освобождать память в Data перед вызовом Clear?
Здравствуйте. В итемах ListView в их свойстве Data хранится строка PChar, память под которую выделяется через AllocMem().
Такой вопрос: нужно ли освобождать эту память перед вызовом метода ListView.Clear или Clear сам все освободит?
...
Рейтинг: 0 / 0
15.04.2020, 15:03
    #39947516
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView: нужно ли освобождать память в Data перед вызовом Clear?
Петров Иван
нужно ли освобождать эту память перед вызовом метода ListView.Clear или Clear сам все освободит?

В этом случае нужно.
...
Рейтинг: 0 / 0
15.04.2020, 15:23
    #39947525
ListView: нужно ли освобождать память в Data перед вызовом Clear?
wadman
Петров Иван
нужно ли освобождать эту память перед вызовом метода ListView.Clear или Clear сам все освободит?

В этом случае нужно.

Спасибо. А то в справке на эту тему ничего нет.
...
Рейтинг: 0 / 0
16.04.2020, 04:06
    #39947843
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView: нужно ли освобождать память в Data перед вызовом Clear?
Петров Иван
Спасибо. А то в справке на эту тему ничего нет.
Как бы подразумевается. Компонент понятия не имеет, что программист может навесить, наворотить (а бывает даже наговнокодить) на это свойство и как это потом разгребать
...
Рейтинг: 0 / 0
16.04.2020, 12:15
    #39947978
istrebitel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView: нужно ли освобождать память в Data перед вызовом Clear?
Если делфя не старая, то в dpr файле

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
begin
   
{$IFDEF DEBUG}
  ReportMemoryLeaksOnShutdown := True;
{$ENDIF}
   Application.Initialize;
...
end.
...
Рейтинг: 0 / 0
17.04.2020, 15:06
    #39948371
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView: нужно ли освобождать память в Data перед вызовом Clear?
Петров Иван
Здравствуйте. В итемах ListView в их свойстве Data хранится строка PChar, память под которую выделяется через AllocMem().
Такой вопрос: нужно ли освобождать эту память перед вызовом метода ListView.Clear или Clear сам все освободит?
Если ты выделял - ты и должен освобождать.
Это не только в листвью, это везде и всегда так.
Тем более, там же Pointer - ни один контейнер не может знать, как корректно освободить память по нетипизированному указателю.
...
Рейтинг: 0 / 0
17.04.2020, 21:11
    #39948487
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView: нужно ли освобождать память в Data перед вызовом Clear?
YuRock
Это не только в листвью, это везде и всегда так.

Справедливости ради, TObjectList с данным утверждением не согласен. Иногда.
...
Рейтинг: 0 / 0
17.04.2020, 22:12
    #39948493
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListView: нужно ли освобождать память в Data перед вызовом Clear?
alekcvp,

TObjectList вполне обоснованно может полагаться на TObject.Free. В отличие от.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ListView: нужно ли освобождать память в Data перед вызовом Clear? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]