Форум: "Начинающим";
Текущий архив: 2013.04.21;
Скачать: [xml.tar.bz2];
ВнизУтечка памяти DataSet Найти похожие ветки
← →
Вова (2012-10-13 03:42) [0]
BaseAlphabet.ClientDataSet1.first;
While Not BaseAlphabet.ClientDataSet1.Eof Do
begin
BaseAlphabet.CharacterProperties.first;
While Not BaseAlphabet.CharacterProperties.Eof Do
begin
BaseAlphabet.CharacterProperties.Next;
end;
BaseAlphabet.ClientDataSet1.Next;
end;
Вообщем в результате продолжительных изысканий, связанных с невероятно бурным ростом программы в памяти, все что у меня осталось от программы это вот эти 2 цикла. И я повесил их запуск на кнопку. И каждый раз нажимая кнопку я обнаруживаю, что программа стала занимать больше места. И так до бесконечности. У меня 2 вопроса - че за фигня? и что делать?
← →
Вова (2012-10-13 03:58) [1]вопрос снимается, чуть чуть недотерпел ) оказалось что эту программу можно еще упростить
BaseAlphabet.ClientDataSet1.first;
While Not BaseAlphabet.ClientDataSet1.Eof Do
BaseAlphabet.ClientDataSet1.Next;
До такой, и результат будет тот же. Также выяснилось что в данном цикле вызывается событие ClientDataSet1AfterScroll, в котором и обнаружилась протечка. Правда вот дело в том, что нафиг мне не нужно чтобы оно вызывалось при программном проходе по таблице, притом что форма даже не открыта, хоть и создана.
В отчаянии, я попробовал сделать так:BaseAlphabet.ClientDataSet1.DisableControls;
BaseAlphabet.ClientDataSet1.first;
While Not BaseAlphabet.ClientDataSet1.Eof Do
BaseAlphabet.ClientDataSet1.Next;
BaseAlphabet.ClientDataSet1.EnableControls;
Но это совсем мне не помогло. Итого утечка памяти устранилась, но выяснилось, что программа тратит время на вещи, на которые абсолютно в данной ситуации не нужно тратить время. При этом в интерактивном режиме через DBGrid когда по таблице лазишь, это собитие делает полезную работу.
Откуда возник новый вопрос, можно ли сделать так чтобы при программном прохождении цикла это событие не активировалось?
← →
Inovet © (2012-10-13 07:03) [2]Деактивировать перед, активировать после.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.04.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c