gpt4 book ai didi

delphi - 从 .ocx ActiveX 向 Javascript 公开函数

转载 作者:行者123 更新时间:2023-12-03 18:40:26 25 4
gpt4 key购买 nike

我开发了一个 .ocx使用德尔福。
Rad Studio 自动生成 .ridl为我归档。

我创建了一个加载 .ocx activeX 的 html 页面,并且它可以正常工作。

现在,我需要在 .ocx 中调用一个函数来自HTML页面内的Javascript文件,我知道它可能,但我不知道如何。我想我必须以某种方式配置 .ridl文件,但我找不到任何有关它的文档。

现在,我在创建的表单中声明了一个公共(public)函数,如下所示:

procedure WriteText(const text: string); safecall;

而且,从Javascript,我这样称呼它:
document.forms[0].MyProjectName.WriteText('foo');

但我收到错误 variable type invalid (我有点怀疑它是 EOleSysError 类型错误)。所以我可以看到 WriteText 函数,但我不能使用它。

我也尝试替换 stringWideString 输入我的函数和 PWideChar ,总是有同样的错误。

我怎么能解决这个问题?

最佳答案

我通过为 <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">

关于delphi - 从 .ocx ActiveX 向 Javascript 公开函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37813182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com