Имя: Пароль:
1C
 
Как убить форму?
0 Гений 1С
 
гуру
31.10.07
17:35
Если в форме есть ссылка на себя, то она так и будет висеть в памяти до завершения сеанса. Есть ли какой нибудь способ самоубийства формы?
1 Scooter
 
31.10.07
17:42
на ИТС есть/была статья по этому поводу
вроде как эту ошибку 1С исправили
2 Гений 1С
 
гуру
31.10.07
17:48
(1) а если ссылка есть из другой формы?
3 Hadgehogs
 
31.10.07
18:02
ПередЗакрытием
СсылкаНаФорму=Неопределено;?
4 Гений 1С
 
гуру
31.10.07
18:08
(3) ее еще найти надо...
5 Hadgehogs
 
31.10.07
18:28
Например можно попробовать так:(синтаксис неправилен, конечно, но смычл)
//Основная форма
ЕщеФорма=ПолучитьФормы();
ЕщеФорма.ПеременнаяХраненияФормы=ЭтаФорма;
ЕщеФорма.ВладелецФормы=ЭтаФорма;
ЕщеФорма.ЗакрыватьПриЗакрытииВладельца=Истина;
ЕщеФорма.Открыть();

//Еще форма
//Тут манипуляции с переменной
..
//Ну и вообще можно использовать ВладелецФормы. Проблема, когда нужен контекст формы например, в модуле объекта

Процедура ЕщеФорма.ПередЗакрытием()
ПеременнаяХраненияФормы=Неопределено;
КонецПроцедуры
6 перцептрон
 
31.10.07
18:37
(0) закрываешь форму, а она все равно висит в памяти?
7 Гений 1С
 
гуру
31.10.07
18:38
(6) ага, просто если открыть еще раз ее, то новая не открывается (касается внешних обработок, например)
8 Hadgehogs
 
31.10.07
18:39
(0) Гений 1С, я вас не узнаю.
Обычно такой поток мысленной энергии от вас, новых диких идей. Язык программирования свой проектировать пытались, ссылки по хитрому пытались хранить, и.т.д.
А тут...
Может вы кого другого под ником своим пустили. Или это осень?
9 Гений 1С
 
гуру
31.10.07
18:40
(8) Скорее это ваш склероз..
10 Hadgehogs
 
31.10.07
18:42
(9) Рановато мне еще до него
11 Собеседник
 
31.10.07
19:18
у меня вот такое
v8: Прикол при передаче ЭтаФорма
и такое
v8: Присвоение переменной значения типа

Даже если запоминать ссылки на формы, допустим, в ТЗ а потом ...
СсылкиНаФормы.Форма = Неопределено или
СсылкиНаФормы.Форма = ""
все равно не помагает

Решил не баловатся с передачей формы в локальный переменную
Форму передал, получил все что от неъ нужнО в Фсьо.
12 Собеседник
 
31.10.07
19:18
"у меня вот такое" + "было", имелось ввиду :)
13 TormozIT
 
гуру
31.10.07
20:06
Счетчик ссылок на форму пока в 0 не уйдет, она висит в памяти.
Если закрыли самоссылающуюся форму, она "потеряется" в памяти и будет висеть до конца жизни процесса.
14 Гений 1С
 
гуру
01.11.07
09:40
(10) Ну ты же пишешь - не узнаю...
15 Гений 1С
 
гуру
01.11.07
09:42
(13) вот о чем и речь, нужен какой-нибудь киллер... в некоторых случаях я не могу знать все ссылки...
16 John Connor
 
01.11.07
10:51
(15) Здравая мысль...
17 Fragster
 
гуру
01.11.07
11:40
ЭтаФорма.Закрыть()?
18 перцептрон
 
01.11.07
11:51
(7)чуть недопонял. В модуле внешней обработки ссылка на собственную форму висит вечно? или ссылка таки попадает в модули конфигурации?
19 Господин ПЖ
 
01.11.07
12:00
(13) Кривой "сборщик мусора"... .Net вроде умеет такое определять и мочить объекты с цикличными ссылками.
20 перцептрон
 
01.11.07
12:26
(19) спс за формализацию проблемы
21 Гений 1С
 
гуру
01.11.07
13:24
(17) Не катит, т.к. есть ссылка на самое себя...