![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Ibragim |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
День добрый.
Есть участок кода, выполняется в цикле, который вызывает утечку памяти:
Как говорит MemProof, не удаляется объект SiteContent, то есть при следующей итерации цикла место из-под прошлого SiteContent не освобождается, а создается новая область в куче. Как корректно освободить место из-под SiteContent? Пробую DisposeStr(@SiteContent); но функция, как говорит помощь, корректно работает только со строками, созданными NewStr. Да и опыт показал, что так нестабильно. Как правильно решается такая задача? Заранее спасибо. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
все супер. в приведенном куске кода никаких ошибок не наблюдается, с чем автора и поздравляю.
-------------------- There are always someone smarter than you... |
|||
|
||||
| Ibragim |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
н-да действительно, в "голом" проекте нет утечки...
черт, где же собака порылась... А можно вот так?
ConLinks - моя функция, s, Url: string; |
|||
|
||||
| ShadeSt |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 256 Регистрация: 9.8.2005 Где: Россия, г. Ставро поль Репутация: нет Всего: 7 |
Либо так:
либо так
если я правильно понимаю, то утечка может быть в том случае, если ht.Get() выделяется новый участок памяти под строку. попробуй так:
-------------------- It's nice to be importand, but it's more importand to be nice © Scooter |
||||||
|
|||||||
| Ibragim |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
Так пробовал, не помогает. Сча попробую Finalize |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
что вот так? абсолютно неинформативные сообщения. такое ощущение, что сам с собой автор разговаривает) -------------------- There are always someone smarter than you... |
|||
|
||||
| Ibragim |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
гм, сорри
Не вызовет ли утечку памяти, если в работе со строками сделать следующее. 1. Создать функцию, положим
2. И вызывать эту функцию следующим образом
|
||||
|
|||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Я так понимаю, это код из DLL. Ты случаем не передаешь данные из/в программу?
-------------------- ![]() |
|||
|
||||
| Stern87 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 27.11.2007 Где: Украина Репутация: нет Всего: нет |
Если я не ошибаюсь, то строки в параметрах надо писать через const.
|
|||
|
||||
| MetalFan |
|
||||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
смотря какая цель преследуется...
не вызовет. частенько так делаю, чтобы не заводить явно локальные переменные. -------------------- There are always someone smarter than you... |
||||
|
|||||
![]()
|
| Правила форума "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. |