gpt4 book ai didi

windows - 为什么我的 DLL 好像没有被调用?

转载 作者:可可西里 更新时间:2023-11-01 10:37:45 25 4
gpt4 key购买 nike

我有一个用 Delphi 编码的 COM DLL。它应该在 MS IE 中加载网页时通过 Active X 控件调用(通过页面上的 SOEM JavaScript)。

顺便说一句,这一切都适用于现有的串行端口接口(interface),但我正在重新编码 DLL 以从 USB 读取;其他一切都没有改变。

它在 Delphi IDE 中运行良好,但“在现场”却不行。 Active X 控件应请求它从 USB 端口读取一些输入,然后应将其发送到网页。

可以从 USB 设备读取数据,因为我可以打开记事本并查看其中写入的值。

DLL 将显示一个窗体和一个对话框,并将写入系统调试跟踪。由于在 MS IE 中加载网页时我没有看到这些,我认为我们可以假设 Aective X 控件没有调用 DLL。

  • 在 MS IE 中,我启用了所有 Active X 选项。
  • 在 c:\Windows\System32(相当于 c:\Windows\SysWOW64)中,我有 regsvr32.exe -u my_dll.dll 然后是 regsvr32.exe my_dll。 dll 两者都被系统宣告成功
  • 我搜索了一下,在c:\Windows下只有一份my_dll.dll
  • 它有正确的大小和日期/时间
  • 我的 %path%%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem; 对于系统,对于用户是空的

知道我做错了什么吗?或者我该如何追踪它?

最佳答案

如果您通过javascript在网页中加载ActiveX控件,则必须将控件打包以进行Web部署。请参阅此示例以了解如何在您的 javascript 中执行此操作并检查您是否已正确完成此操作:

Calling Activex Control 's Functions from javascript

一旦您正确执行了上述操作并在 IE 中打开您的网站,该网页至少会“加载”ActiveX 控件。除此之外,您还可以在 Delphi 代码中显示消息框或写入日志,以追踪实际的编码问题。

关于windows - 为什么我的 DLL 好像没有被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15582779/

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