Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 июн 2024, 03:16

Утечка памяти при использовании Native API

Автор PowerLord, 20 фев 2013, 03:26

0 Пользователей и 1 гость просматривают эту тему.

Dethmontt

Использование Функции в Цикле вы постоянно наполняете СТЕК в 1С
Как только ЦИКл закончиться память должна высвободиться.

Т.е. можно оптимизировать вызовы этой функции с передачей в нее массива строк для обработки
Добавлено: 20 фев 2013, 11:04


Цитата: PowerLord от 20 фев 2013, 10:46Dethmontt, а вы сами писали AddInNative внешние компоненты?
По технологии Native api никогда не писал

Добавлено: 20 фев 2013, 11:32


В инете полно литературы по созданию компонент
Например тут: http://oksla.narod.ru/vk.htm
Я когда то делал на Delphi COM-компоненту (правда без NATIVe) в чем принципиальное отличие COM от NATIVE я не знаю
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

PowerLord

Наконец-то заметил вторую страницу темы :)
ЦитироватьИспользование Функции в Цикле вы постоянно наполняете СТЕК в 1С
Как только ЦИКл закончиться память должна высвободиться.
Интересная информация, Спасибо.

Цитироватьможно оптимизировать вызовы этой функции с передачей в нее массива строк для обработки
Можно конечно, но это уже, согласитесь, костыль :) и от утечки не избавит.

ЦитироватьПо технологии Native api никогда не писал
Жаль. Надеюсь на форме есть специалисты, имеющие дело с Native API и с++.

Цитироватьпринципиальное отличие COM от NATIVE
В том что COM только для винды, а Native-библиотеки будут работать и под линуксом, и можно их в браузеру подключать (не понимаю как и зачем, ещё не пользовался). ну и COM-либу надо регистрировать в системе, а Native-библиотеку нужно только подключить в 1С

PowerLord

Dethmontt, вы были правы. Память захватывается стеком вызовов. освобождается она при разрушении объекта-компоненты. Обнаружил это когда создал новую библиотеку AddInNative. просто другие функции той библиотеки использовались в разных местах 1С. и она инициализировалась при запуске и разрушалась при завершении работы 1С

Спасибо вам за помощь

Dethmontt

Да не за что. Всегда рад помочь.
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Похожие темы (5)

Рейтинг@Mail.ru

Поиск