为什么我的DLL似乎没有被调用?

时间:2013-03-23 02:40:48

标签: windows web-applications dll activex

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

顺便说一句,这一切都可以正常使用现有的串口接口,但我正在重新编码DLL来读取USB;其他一切都没有了。

它在Delphi IDE中运行良好,但不是“在现场”。活动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;而对用户来说是空的

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

1 个答案:

答案 0 :(得分:1)

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

Calling Activex Control 's Functions from javascript

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