Снегопат https://snegopat.ru/forum/ |
|
Почему не работает код вызова свойств через точку? https://snegopat.ru/forum/viewtopic.php?f=3&t=4 |
Страница 1 из 1 |
Автор: | vladnet [ 24 авг 2011, 16:02 ] |
Заголовок сообщения: | Почему не работает код вызова свойств через точку? |
Пишу в скрипте так: пОформлениеСтроки.Ячейки.Имя.ОтображатьКартинку=Истина или так: лИмяФайла = пЭлемент.ТекущаяСтрока.ИмяФайла отладчик сообщает мне что после второй точки есть null или не является объектом что делать? я саму модель программирования в ява скрипт видимо не понимаю ( |
Автор: | orefkov [ 24 авг 2011, 16:08 ] |
Заголовок сообщения: | Re: Почему не работает код вызова свойств через точку? |
Полный код, из которого видно, откуда взялось пОформлениеСтроки - ты не привел, поэтому попробую протелепатировать. Скорее всего пОформлениеСтроки - это у тебя параметр в методе-обработчике события формы. Параметры туда приходят в виде объекта-обертки, а реальное значение доступно через свойство val этого объекта: пОформлениеСтроки.val.Ячейки.Имя.ОтображатьКартинку=Истина Сделано это потому, что JSсript не поддерживает передачу параметров "по ссылке", и было бы невозможным например использовать СтандартнаяОбработка = false А вот СтандартнаяОбработка.val = false вполне работает, и вернет в 1С измененное значение. |
Автор: | vladnet [ 24 авг 2011, 16:18 ] |
Заголовок сообщения: | Re: Почему не работает код вызова свойств через точку? |
Спасибо через .val работает отлично. Кстати VB так же себя ведет или там .val не нужно? |
Автор: | orefkov [ 24 авг 2011, 16:27 ] |
Заголовок сообщения: | Re: Почему не работает код вызова свойств через точку? |
vladnet писал(а): Кстати VB так же себя ведет или там .val не нужно? Там сделано по-хитрому. У свойства val - dispid 0, VB такие свойства считает свойствами "по-умолчанию", и их можно дергать напрямую. Но лучше все-же писать .val, так надежнее. |
Автор: | vladnet [ 24 авг 2011, 16:46 ] |
Заголовок сообщения: | Re: Почему не работает код вызова свойств через точку? |
Спасибо ) |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |