|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.01.2013, 16:04 | #1 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 29
|
Проблемы с утечкой памяти (CreateProcess и INDY)
Народ, всем ку!
Помоги решить проблему с утечкой памяти, а именно: имеется код, который вызывает криптопрограмму для каждого файла из списка, ждет выполнения программы и идет дальше по списку... Код:
Плюс такая же беда и с: Код:
Ладно если бы задача была разовая, за день через нее проходит около 500 файлов. ПРОШУ ПОМОЩИ, проект уже горит Последний раз редактировалось SkOle; 26.01.2013 в 16:46. |
26.01.2013, 17:49 | #2 |
instagram
Участник клуба
Регистрация: 24.05.2008
Сообщений: 1,451
|
с чего ты взял, что там есть утечка?
|
26.01.2013, 18:10 | #3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
с того, что без try finally код в конце может не выполниться вообще, по причине ошибок в соединении/передачи и т.д и т.п.
|
26.01.2013, 18:17 | #4 |
instagram
Участник клуба
Регистрация: 24.05.2008
Сообщений: 1,451
|
тем более, когда код написан страшным образом
книжку по рефакторингу почитай, про дельфевскую кучу, фрагментацию кучу и кэширование |
27.01.2013, 14:21 | #5 | |
Пользователь
Регистрация: 18.01.2009
Сообщений: 29
|
Цитата:
P.S. код написан страшным образом? смешно, значит у нас половина программеров пишут "страшные коды". |
|
27.01.2013, 14:33 | #6 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Я вот чего не могу понять:
Цитата:
Цитата:
Еще такой момент: Цитата:
Тогда стесняюсь спросить, почему не в сопроцессе это делать?
I'm learning to live...
|
|||
27.01.2013, 14:48 | #7 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 29
|
>> Я вот чего не могу понять:
>> Цитата: >> память, выделяемая на CreateProces >> Какая память то? Эта функция создает отдельный процесс. Получается что он не закрывается нормально что ли? Оперативка не освобождается, моя программа вызывает другую, ждет завершения ее работы и идет дальше, при это оперативка не очищается после вызова сторонней программы, а поскольку работа идет в цикле с большим количеством файлов, то происходит переполнение >> Еще такой момент: >> Цитата: >> while WaitForSingleObject(ProcessInfo.hPr ocess, 100) = WAIT_TIMEOUT do >> Application.ProcessMessages; >> Т.е. запуски идут прямо в главном потоке? Тогда стесняюсь спросить, почему не в сопроцессе это делать? Да, запуск идет в основном потоке, я думал в сторону создания отдельного потока, но я не умею с ними работать, я сисадмин, и пишу софт редко |
27.01.2013, 15:18 | #8 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
I'm learning to live...
|
||
27.01.2013, 17:26 | #9 |
Пользователь
Регистрация: 18.01.2009
Сообщений: 29
|
>> Так стоп! Тогда самый главный вопрос: Тебе это зачем нужно? Откуда у задачи
>> ноги растут и какие цели преследуются? Не исключаю что и без >> программирования особого возможно ее решить. Смысл задачи в автоматизации криптования файлов через File-PRO, без программирования никак, там надо отловить окно запроса пароля на сертификат, передать ему пасс и тыкнуть кнопку "ок", потом зашифрованный файл отправить на указанный адрес почтовый + принимать почту с указанного адреса, если есть вложение с шифрованым файлом, то его надо распаковать (обратно таки через отлов окон) и далее по правилам раскладывать в определенные места >> Так вот скорее всего она и не убирается за собой. я смотрел через ProcessExplorer, File-PRO рождается как дочерний процесс от моей программы, после выполенения прибивается, но при этом объем памяти после окончания работы File-PRO не уменьшается P.S. все работает как надо, но при работе с File-PRO и почтой жрется оператива Последний раз редактировалось SkOle; 27.01.2013 в 17:28. |
27.01.2013, 17:34 | #10 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |