Подписка на события и ScriptControl

Доброго времени суток.
Столкнулся вот с какой проблемой.
Есть СОМ-объект. Подписываюсь на его событие. В событие из коннектора беру ссылку на окно. У окна через Window.ScriptControl.Run() вызываю функцию.
Не работает. Если быть точным не заходит в функцию скрипта.

Если в событии поставить debugger; - все отрабатывает.
С чем может быть связано такое поведение?

Заранее спасибо за ответ.

Нравится

6 комментариев

"Доленко Юрий" написал:. В событие из коннектора беру ссылку на окно

Это как?

кхм... поставил задержку все заработало : )
видимо не успевало передавать управление .. или что-то типа того...

"Underscore a.k.a. _" написал:Это как?

ну в функции, которая подписана на событие, я беру из аттрибутов коннектора ссылку на окно...

А, что-то я торможу. Ну может действительно окно немного не успевало. тогда чтоб наверняка в атрибутах окна выставляйте какой-то флаг вконце OnPrepare и в обработчике события делайте цикл со слипами, пока этот флаг не выставится.

"Underscore a.k.a. _" написал:А, что-то я торможу. Ну может действительно окно немного не успевало. тогда чтоб наверняка в атрибутах окна выставляйте какой-то флаг вконце OnPrepare и в обработчике события делайте цикл со слипами, пока этот флаг не выставится.

Можно было бы проще, просто при помощи яваскриптовой функции setTimeout, но террасофт ее не понимает почему-то...
Я просто в событии включаю таймер, потом вызываю функцию скрипта и все работает.

Просто таймер синхронизации не обеспечивает. Т.е. будет работать с определенной вероятностью,которая увеличивается с увеличением времени задержки.

Показать все комментарии