Форум: "Сети";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
ВнизIdPOP31.Retrieve - утечка памяти!! ?? Найти похожие ветки
← →
Gold © (2005-07-06 18:31) [0]В цикле выполняется следующия команда
IdPOP31.Retrieve(i,Amsg);
При каждом итерации выделяется память. (отслеживаю по диспетчеру задач)
Память больше не освобождается.
Что делять?
Спасибо
← →
Slym © (2005-07-07 09:06) [1]В строке - IdPOP31.Retrieve(i,Amsg); мемлика нет...
А в твоем цикле (код которого ты не привел) есть!
← →
Gold © (2005-07-07 12:27) [2]Искал у себя... все заремарил, расходуется память.
Создаю новое приложение. на форму кидаю три компонентна типа
TIdPOP31, TIdMessage1, TButton1
пишу обработчик:
procedure TForm1.Button1Click(Sender: TObject);
const
Host : string = "192.168.0.101" ;
Password : string = "1234";
Port : smallint = 110;
UserId : string = "a@maiil.ru";
Var
i : INTEGER;
begin
IdPOP31.Host := Host;
IdPOP31.Password := Password;
IdPOP31.Port := Port;
IdPOP31.UserId := UserId ;
IdPOP31.Connect;
for i:=1 to IdPOP31.CheckMessages do
begin
IdMessage1.Clear;
IdPOP31.Retrieve(i,IdMessage1);
END;
end;
При каждом итерации выделяется память. (отслеживаю по диспетчеру задач)
Память больше не освобождается. Как вернуть ее злодейку?
← →
Slym © (2005-07-08 09:01) [3]Медленная но верная фрагментация памяти, и никуда от нее не уйти. Сверни приложение разверни и TaskMan тебя обрадует.
Может какой глюк в Indy, но в TIdMessage наверняк нет, слишком уж заезженый компонент
← →
Gold © (2005-07-08 10:47) [4]Стал в рантайме создавать объект IdPOP31, после обработки уничтожать... Все значительно улучшилось..
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.052 c