4

我试图让 XSL 使用扩展对象上的函数,但我尝试的一切都只是告诉我函数不存在。

在我的 lib_TLB.pas 文件中,我有

function Get_ReadOnly: WordBool; safecall;

在实现的接口上定义IDispatch,我将其传递给我IXSLProcessor的 withproc.AddObject( obj, 'foo' );

xmlns:foo="foo"xsl:stylesheet元素中声明,但是当我尝试使用它时<xsl:value-of select="foo:Get_ReadOnly()"/>,它只是说该函数不存在。

我是否在某处遗漏了一步,或者说错了?

编辑:仔细检查后,它确实有效,只是不适用于作为属性获取器的任何功能。该函数具有关联的属性,并且foo:get-ReadOnly()工作正常。要么是这样,要么是因为在该接口的实现上定义的函数是“受保护的”而不是“公共的”。

无论哪种方式,如果有人能阐明其工作原理的规则是什么,而不是我在反复试验中摸索,我将不胜感激。

4

0 回答 0