Имя: Пароль:
1C
1C 7.7
v7: Текст - утечка памяти
0 Budy
 
28.03.12
16:47
Вопрос к знатокам клюшек. Есть код простенький. Если убрать очистить(), на каждом проходе цикла 1С хавает память у компа.
Так и должно быть или это косяк платформы. Досталась обработка в наследство (вроде даже состяпанная самой 1С), так при загрузке память улетает токо шум стоит. Воткнул вызов Очистить() и стало все ок.

// **************************************************
Перем ЗагружаемыеДанные;

//***************************************************
Процедура Сформировать()
   ФС.УстТекКаталог("c:\tmp");
   ИмяФайлаЗагрузки = ФС.НайтиПервыйФайл("2.txt");
   
   Для сч = 1 по 10000 цикл    
       ЗагружаемыеДанные.Открыть("c:\tmp\" + ИмяФайлаЗагрузки);
       
       //ЗагружаемыеДанные.Очистить();
   КонецЦикла;
КонецПроцедуры


//***************************************************
ЗагружаемыеДанные = СоздатьОбъект("Текст");
1 Guk
 
28.03.12
16:48
логично. объект Текст весь текст в память грузит...
2 Господин ПЖ
 
28.03.12
16:50
(0) объекты клюшек для работы с файлами/текстами кривые как сабля
3 Budy
 
28.03.12
16:50
При каждом проходе по циклу, память отъедает.
Потеря памяти = размер по файлу * количество проходов. (в нашем случае 10000)
4 vinogradъ
 
28.03.12
16:52
а если ЗагружаемыеДанные.Закрыть() делать?
5 andrewks
 
28.03.12
17:00
(3) ты интересный. сам написал кривой код, а про утечку памяти претензии к 1С предъявляешь. да 1С и так много косяков имеет, не надо приписывать её несуществующие
6 Budy
 
28.03.12
17:09
(5) Хых. посмотрел на ИТС и опачки увидал знакомые буквы: Import.ert.
Это не я написал так, это в этой обработке так написано, я просто ее банально упростил для примера.
7 Budy
 
28.03.12
18:05
(4) Токо ща обратил внимание - ловко уделал!!!
8 andrewalexk
 
28.03.12
18:17
(2) :) *кривые как клюшки