我使用Delphi开发了char*
。
Rad Studio自动为我生成了.ocx
文件。
我创建了一个加载.ridl
的html页面,它没有任何问题。
现在,我需要在Html页面内的Javascript中调用.ocx activeX
文件中的一个函数,我知道它可能但我无法弄清楚如何。我想我必须以某种方式配置.ocx
文件,但我找不到任何关于它的文档。
现在,我在我创建的表单中声明了一个公共函数,如下所示:
.ridl
并且,从Javascript,我称之为:
procedure WriteText(const text: string); safecall;
但我得到了错误document.forms[0].MyProjectName.WriteText('foo');
(我有点怀疑它是 EOleSysError 类型错误)。所以我可以看到WriteText函数,但我无法使用它。
我还尝试用variable type invalid
和string
替换我的函数中的WideString
类型,但总是出现相同的错误。
我怎么能解决这个问题?
答案 0 :(得分:1)
我通过给<OBJECT>
元素提供ID并通过javascript调用方法来完成此操作:
<script language="javascript">
someID.WriteText('Hello!');
</script>
在页面的某个地方:
<OBJECT ID="someID"
CLASSID="clsid:12345678-90AB-CDEF-1234-56789ABCDEF1"
CODEBASE="/my.ocx"
WIDTH="100"
HEIGHT="25">