Добавление пользовательских функций в XSL в Delphi 7
Я пытаюсь заставить XSL использовать функции для объекта расширения, но все, что я пытаюсь, просто говорит мне, что функции не существуют.
В моем файле lib_TLB.pas у меня есть
function Get_ReadOnly: WordBool; safecall;
определяется на интерфейсе, который реализует IDispatch
и я передаю это моему IXSLProcessor
с proc.AddObject( obj, 'foo' );
Я заявляю xmlns:foo="foo"
в xsl:stylesheet
элемент, но когда я пытаюсь использовать <xsl:value-of select="foo:Get_ReadOnly()"/>
Это просто говорит, что функция не существует.
Я что-то пропускаю или называю неправильно?
РЕДАКТИРОВАТЬ: При ближайшем рассмотрении, он работает, но не для какой-либо функции, которая является получателем свойства. Эта функция имеет связанное свойство, и foo:get-ReadOnly()
работал нормально. Либо так, либо потому, что функция, определенная в реализации этого интерфейса, является "защищенной", а не "публичной".
В любом случае, если кто-нибудь сможет пролить некоторый свет на то, каковы правила, как это работает, а не на то, чтобы я возился с методом проб и ошибок, я был бы благодарен.