|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.01.2013, 05:10 | #11 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 29
|
>> Наоборот надо.
не дало результатов, тоже самое |
28.01.2013, 09:18 | #12 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
ИМХО без прохода отладчиком не разобраться. Я криминала в представленном коде не вижу.
I'm learning to live...
|
28.01.2013, 09:24 | #13 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Значит наоборот не надо Там всё нормально.
А сколько утекает и как быстро? ИМХО, это особенности системы, она так организует работу с памятью. Вот если окно свернуть, то диспетчер покажет увеличение свободной памяти, а если восстановить, то наоборот. Но это вовсе не значит, что при сворачивании окно уничтожается. Просто система оптимизирует свою память. А при многократных запусках сторонней программы система это не делает (и правильно что не делает), а вот как только эта оптимизация понадобится, то диспетчер покажет нам, что память "освободилась". Так что соглашусь со Стилетом, что диспетчер не доказательство (если конечно рост памяти не идёт постоянно). Прогнал этот алгоритм по 1000 раз. В итоге никаких отклонений не наблюдалось. |
28.01.2013, 11:07 | #14 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 29
|
Алгоритм создания процесса действительно был почти без косяков... утечку давало StringToOleStr для перевода в PWideChar... + изменение места включения таймера
Код:
Код:
Код:
P.S. сорри за стиль, я сисадмин, а не программер Последний раз редактировалось SkOle; 28.01.2013 в 11:09. |
28.01.2013, 14:04 | #15 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Сначало закрывается hThread потом hProcess. Почитайте о том, что такое процесс и как работает CreateProcess изнутри. Утечка возникает на уровне ядра. Подключите EurekaLog или MadExcept, создайте поток TThread и не уничтожая его, закройте программу. Сразу получите ругательство в сторону утери памяти занятой под поток. И эти handle'ы должны быть 100% закрыты. ТС поместите их закрытие в Finally. Последний раз редактировалось Человек_Борща; 28.01.2013 в 14:06. |
|
28.01.2013, 14:24 | #16 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 29
|
>> И эти handle'ы должны быть 100% закрыты. ТС поместите их закрытие в Finally.
Спсб, исправил... А вот что делать с погаными Indy? |
28.01.2013, 14:34 | #17 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Научится пользоваться. Если что-то работает не так как вам надо - это вовсе не значит что оно неисправно, может вы просто не умеете пользоваться?
Пакет компонент хороший и мощный, очень мощный. Однако тяжеловесный. Там нет ошибок памяти, по крайней мере в тех компонентах, которыми я пользовался(HTTP, TCP, FTP). Там нету рутинной работы. Попробуйте Synapse или Overbyte ICS. |
28.01.2013, 14:51 | #18 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 29
|
>> Попробуйте Synapse или Overbyte ICS.
Смотрел их, Synapse тоже покушивает память при smtpsend.SendToRaw, а причем код был взят один в один с примера... Если бы разовая была операция, то фиг с ним с памятью, у меня задача стоит на ежедневную обработку 500-700 файлов... |
28.01.2013, 15:01 | #19 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Использовал INDY и Synapse для массовой рассылки писем. 500 писем, для теста, не создавали проблем. Ошибки скорее всего вы создаете, а не не средства которые вы используете. Смотрите инструкцию, следите за типами данных, особенно преобразованием и хранением строк.
Последний раз редактировалось Человек_Борща; 28.01.2013 в 15:03. |
28.01.2013, 15:19 | #20 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Майкрософты плохого не посоветуют: http://msdn.microsoft.com/ru-ru/libr...(v=vs.85).aspx
В случаем запусков потоков из потоков можно закрыть хэндл потока, а потом хэндл процесс для экономии памяти. А тут разницы нет, т.к. поток уже отработал и ничего более за собой не тащит. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
CreateThread непонятки с утечкой памяти | fucil | Общие вопросы Delphi | 3 | 15.01.2013 20:50 |
Проблема с утечкой памяти | mr_cipher | C# (си шарп) | 10 | 28.08.2012 14:18 |
Проблема с утечкой памяти | ExPeL | Win Api | 4 | 21.10.2010 22:13 |
самописный assert: проблема с утечкой памяти) | sashonk | Общие вопросы C/C++ | 2 | 26.04.2010 15:58 |
Indy в потоке - утечка памяти | PUH | Фриланс | 5 | 28.12.2009 14:06 |