Освобождение памяти при работе с ПолеHTMLДокумента #675379


#0 by nemoxp
Есть необходимость программно, в цикле формировать HTML документ со скриптами и для его компиляции загружать в ПолеHTMLДокумента (чтобы получить чистый хтмл документ с результатами выполнения скриптов). Далее я получаю результирующий текст HTML и нахожу в нем нужный результат. Проблема в том, что при постоянной загрузке HTML отнимается оперативка, 100 таких обновлений и 3 Гб как не было. Память не освобождается. Пробовал после каждого цикла писать ПолеHTMLДокумента.Документ.clear и ПолеHTMLДокумента.Документ.location....(что-то там).... = "about:blank" Не помогает. Стандартных методов не нашел. Пишут что в 1с нет "сборщика мусора", что типа нельзя память освобождать. Должно быть альтернативное решение, раз так. Надеюсь на помощь.
#1 by H A D G E H O G s
Нууу., неурожай. Вот щас пишу приблуду, чтобы 5 меговые jpeg файлеги 100500 раз отображать и печатать прямо из 1С, а то и с ними херня. В рамках Нетленки 3.0. Она возрождается из пепла!
#2 by Asmody
прикрути node.js для своих скриптов и не мучай 1Ску
#3 by shurikvz
Не сборщика мусора нет, а методов управления сборщиком мусора. Но даже если бы и были - это бы не помогло. Если я правильно понял о чем речь (и это тот же случай), то да, действительно, есть такой глюк WebBrowser, как жор памяти при навигации по ссылкам. На c# мне помогла простейшая вещь из двух строк: ------- У поляhtmlдокумента метода Refresh вроде нет, возможно это будет что-то вроде: , ну а на  сборщик мусора забить. Или еще вариант - попробовать использовать "InternetExplorer.Application"
#4 by nemoxp
Те кто подключался через КОМ (InternetExplorer.Application) говорят что та же фигня. Читал, советовался, говорят что пытаться очистить память в 1с бесполезно.Это все же предметно ориентированный язык и до полноценного объектно-ориентированного языка ему еще далеко. Хотя, КОМ может спасти. Если все будет происходить в отдельном процессе, то его можно будет убивать раз в определенное время и освобождать память. Как например при работе с Эксел метод Close.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С