аа = Новый ("V8RegEx"); аа.шаблон = "\d"; Результат = аа.Execute("2"); бб = ТипЗнч(Результат);
Такой код вызывает аварийное завершение приложения при вычислении типа от Результат. Отладчик показывает Тип = "RegExMatches", что приятно. Тип не определен 'f0cd1c9e-f075-49c7-97ef-332224575e6c'
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось tormozit 15 апр 2013, 13:17, всего редактировалось 3 раза.
Спасибо. Теперь не падает. Теперь возвращает пустой RegExMatches вместо Неопределено. Однако есть еще ряд багов. Метод Replace выдает на выходе строку, в которой вставляется левая строка в самом начале "(?i)". Позже посмотрю подробнее.
Magister писал(а):Открой секрет, как из ВК вернуть объект?
Из native - никак вроде бы. Из COM - возвращать IDispatch, обернутый в VARIANT. Я точно не помню, реализацию в ВК уже давно не делал.
Это я знаю. Я про ВК regex-v8, она ведь native. А в документации написано:
Метод Execute / Выполнить Находит в исходной строке совпадения с регулярным выражением. Синтаксис: результат = объект.Execute(ПроверяемыйТекст); Параметры: ПроверяемыйТекст. Строка. Текст для проверки. Возвращает: Объект RegExMatches.
Собственно вопрос - как ты возвращаешь Объект RegExMatches?
Дело в том, что объект V8RegEx - выполнен НЕ по технологии Native ВК. ВК используется только в части загрузки в процесс 1С. Дальше я уже дергаю методы движка 1С, регистрирую в системе типов 1С свой тип, и 1С работает с моим объектом - как со своими "родными" объектами. То есть я расширяю объектную модель самой 1С. А я, соответственно, имею доступ ко всем возможностям 1С, в том числе и возвращать объекты. В 7.7 по этой технологии работали rainbow, 1C++, formex и прочие. Там всего-то надо несколько интерфейсов реализовать. Попозжа исходники открою.