Windows 为什么我的DLL似乎没有被调用?
我有一个COM DLL,用Delphi编写。当网页加载到MSIE中时(通过页面上的SOEMJavaScript),应该通过活动X控件调用它 顺便说一句,这一切工作与现有的串行端口接口很好,但我正在重新编码DLL读取从USB;其他一切都是不分年龄的 它在DelphiIDE中运行良好,但在“现场”中不起作用。active X控件应请求它从USB端口读取一些输入,然后将其发送到网页 从USB设备读取数据是可行的,因为我可以打开记事本,看到其中写入的值 DLL将显示一个窗体和一个对话框,并将写入系统调试跟踪。由于我在MS IE中加载网页时没有看到这些,因此我认为我们可以假设Aective X控件没有调用DLLWindows 为什么我的DLL似乎没有被调用?,windows,web-applications,dll,activex,Windows,Web Applications,Dll,Activex,我有一个COM DLL,用Delphi编写。当网页加载到MSIE中时(通过页面上的SOEMJavaScript),应该通过活动X控件调用它 顺便说一句,这一切工作与现有的串行端口接口很好,但我正在重新编码DLL读取从USB;其他一切都是不分年龄的 它在DelphiIDE中运行良好,但在“现场”中不起作用。active X控件应请求它从USB端口读取一些输入,然后将其发送到网页 从USB设备读取数据是可行的,因为我可以打开记事本,看到其中写入的值 DLL将显示一个窗体和一个对话框,并将写入系统调试
- 在MS IE中,我已启用所有活动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中执行此操作的信息,请参见此示例,并检查您是否正确执行了此操作:
一旦您正确地执行了上述操作并在IE中打开您的网站,该网页将至少“加载”ActiveX控件。除此之外,您还可以在Delphi代码中显示消息框或编写日志,以跟踪实际的编码问题。如何在MSIE中加载ActiveX控件?你有网页的HTML或VBScript代码吗?@PrahladYeri+1 JavaSCript+1,谢谢回复。很抱歉耽误了你的回复。我不确定我是否理解你提到的问题。调用
regsvr32
后,我的注册表中有HKEY_CLASSES\u ROOT\Wow6432Node\CLSID\{0004C7F4-BCCC-4476-8C0C-F045E2E0A1F7}
和HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\TypeLib\{30F57A6B-D06D-4640-B19B-34A70EB64181}
以及更多关于标识我的类型库的GUID的参考。我还需要做些什么吗?你做了哪些代码更改来从usb读取它?没有必要,因为应用程序不需要知道底层硬件,它只需要latebind的对象引用。