Добрый день,
в этом примере я привожу альтернативный вариант подписки на события activeX компонента. Это своего рода call-back механизм, который удобно использовать в своих контролах, если функционал Terrasoft не позволяет что-то выполнить. Еще раз говорю, что это не стандартный, а альтернативный механизм со своими плюсами и конечно же минусами.
В архиве прикладываю библиотеку, написаную на C#, который содержит COM класс Callback с двумя методами Run и Exit и событием Callback. Класс запускает форму, которая содержит 2 поля, информация из которых возвращается скрипту по нажатию на клавишу. Для демо все что нужно, это сбилдить сборку - она сама зарегистрируется и в скрипте Террасофт написать:
var obj;
function Main() {
obj = new ActiveXObject("TSCallback.Callback");
var extendedCallbackEvents = obj.ExtendedCallbackEvents();
extendedCallbackEvents.ScriptCallbackObject = obj_Callback;
obj.Run();
}
function obj_Callback(message, data)
{
ShowInformationDialog('Message: ' + message + ' Data: ' + data);
obj.Exit();
}