![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Teran |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 590 Регистрация: 9.9.2005 Где: Украина, Запорожь е Репутация: нет Всего: 3 |
Есть две формы первая - главная с таймером который создает список из форм
а вторая - которая буде находится в списке в событии OnTimer пишу
Форма 2 имеет тоже свой список
если будет включен таймер то в процессах моя прога будат расти в памяти неизвнстнопочему я знаю что в чужом коде трудно разобраться но кто сможет помогите найти ошибку очистки памяти! -------------------- Ни цего не понимаю |
||||
|
|||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
||||
|
||||
| Teran |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 590 Регистрация: 9.9.2005 Где: Украина, Запорожь е Репутация: нет Всего: 3 |
Ой прошу прощения вместо неё должно быть
просто писал вручную и ошибся этой строкой я создаю список из 5 элементов в каждой из созданных форм Добавлено @ 18:37 да чтож такое опять ошибся вот так должно быть
-------------------- Ни цего не понимаю |
||||
|
|||||
| Teran |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 590 Регистрация: 9.9.2005 Где: Украина, Запорожь е Репутация: нет Всего: 3 |
Получается что каждый елемент списка из форм (ListOfForm)
содержит вложенный список (ItemList) из двух строк -------------------- Ни цего не понимаю |
|||
|
||||
| Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Лучше так:
Добавлено @ 19:05 Надеюсь, ListOfForm у тебя глобальная переменная? |
||||
|
|||||
| Teran |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 590 Регистрация: 9.9.2005 Где: Украина, Запорожь е Репутация: нет Всего: 3 |
нет а зачем ведь она создается и удаляется в обработчике таймера ты знаеш попробывал очищать так как ты написал а память кушает всеравно -------------------- Ни цего не понимаю |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
А что такое TmpFormList?
-------------------- |
|||
|
||||
| Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Проблема в принципе не сложная.
Все дело в string. У тебя
В этом и проблема. т.к. string - это указатель. Указатели убиваются, а их память - нет. Решить вопрос просто:
|
||||
|
|||||
| Демо |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Память очищается, так как ссылок на эти строки больше не существует. Проверь сам:
-------------------- |
||||
|
|||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Демо, ы предлагаеь тривиальную задачу, с которой дельфийский сборщик мусора справляется на раз.
Давай ее усложним:
Вот тут сборщик мусора теряет ссылку на стринги. И память начинает утекать... |
|||
|
||||
| Демо |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Потому что структура - это не классовый объект. У него нет предка, который позаботился бы об уничтожении потомка. В данном случае утечка памяти - ошибка программиста. Достаточно заменить
для явного приведения типа, и никакой утечки не будет. -------------------- |
||||||
|
|||||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |