Скажите пожалуйста, если я пишу внешнюю обработку, которая использует объекты другой информационной системы (через Com-соединение), их надо как-то освобождать? И как это делается (в accesse a = Nothing)?
P.S. Скажем в accesse я всегда следил за освобождением, потому что процедуры очень большие и есть утечка памяти, если за этим делом не следить.
Код
ДругаяСистема = Новый COMОбъект;
...
ДругаяСистема = 0;
DEDUSHKA
26.9.2008, 10:42
Цитата(LxS @ 26.9.2008, 11:45)

Код
ДругаяСистема = Новый COMОбъект;
...
ДругаяСистема = 0;
1. А дочерним объектам также 0 присваивать (скажем объекту "Справочник")?
2. А родные объекты 1С нуждаются в таком же освобождении?
2. А переменные?
- При попытке получения значений переменных будет вылетать ошибка.
- Да
- это не похоже на 1? О каких переменных речь?
DEDUSHKA
26.9.2008, 12:52
Цитата(LxS @ 26.9.2008, 14:00)

- При попытке получения значений переменных будет вылетать ошибка.
- Да
- это не похоже на 1? О каких переменных речь?
1. Вы не поняли: сперва надо освободить дочерние объекты. Им надо также присваивать 0?
2. А почему я не нашел в конфигураторе этих действий при различных событиях?
3. Например массивы.
DEDUSHKA
29.9.2008, 10:34
ау...
По поводу переменных, если я пишу:
Запрос = Новый Запрос(ТекстЗапроса);
Надо ли в конце писать:
Запрос = 0;
Или 1С сам с этим справляется.
То же самое если скажем я пишу в обработке:
Док = Документы.ПоступлениеТоваровИУслуг.Выбрать();
Надо ли в конце делать:
Док = 0;
??? (это я имел в виду про собственные объекты 1С, которые объявляются в конфигураторе или внешней обработке)
А что делать с переменными типа Строа, Массив и пр.?
Мастер_миража
29.9.2008, 11:53
если создавать переменные внутри процедуры то они должны освобождаться автоматически... а передавать их в другие процедуры можно через параметры
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.