- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
// прога у нас многопоточная, данный код выполняется в потоке. Создание и настройка Idhttp прописана в конструкторе потока.
while not terminated do
begin
synchronize(ReadProxy);
if ThreadExit then break;
try
memorystream.Position:=0;
try
idHTTP.Get(linknew,memorystream);
idhttp.disconnect;
except
idhttp.Disconnect;
end;
finally
temp:=memorystreamtostring(memorystream); // если этого не сделать, память будет утекать.
memorystream.clear;
end;
Я нашел способ предотвратить утечки памяти в Indy, при Get-запросе -
многие грешат на Indy, мол, нестабильная она в потоках, провоцирует утечки.
Оказалось, что дело-то в tmemorystream, я его маму бля ебал!!!
Stertor 20.11.2013 22:37 # 0
но так как освобождение памяти стоит в блоке try...finally, память не забивается. Проверено.
LispGovno 20.11.2013 22:40 # +3
Главная твоя ошибка
Stertor 20.11.2013 22:42 # −1
cmepmop 08.03.2019 13:21 # 0
MaaKut 07.11.2021 20:44 # 0