通过Web运行ActiveX

时间:2010-04-21 07:08:03

标签: html delphi activex

我们有一个在本地计算机上工作正常的网页,因为它使用仅在本地计算机上可用的COM对象。

程序生成HTML代码:

<html>
  <head>
     <script type="text/javascript">
     <!--
       function ResizeControl(){Y = document.body.clientHeight;if (Y < 1) {Y = 1}X = document.body.clientWidth;if (X < 1) {X = 1}ActiveX.width = X;ActiveX.height = Y}
     -->
     </script>
     <style type="text/css">html, body { overflow:hidden; } </style>
  </head>
  <body OnResize="ResizeControl()" OnLoad="ResizeControl()" leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0">
     <object id="ActiveX" classid="CLSID:8EC68701-329D-4567-BCB5-9EE4BA43D358" width="14" height="14">
         <PARAM NAME="tabName" VALUE="Complaints">
     </object>
  </body>
</html>

并显示正常

alt text http://www.balexandre.com/temp/2010-04-21_0904.png

我的问题是,我们如何将其移植到网络环境中?由于Delphi开发人员不知道,我不是德尔福研究员。

我希望能够在网址上使用此“网页”

  

http://INTRANET/mysite/thispage.html

任何想法,无论如何,任何打开的大门都非常感激:)

2 个答案:

答案 0 :(得分:2)

您应该deploy Web服务器上的ActiveX控件,并在对象元素的codebase attribute的HTML页面中提供.cab文件的URL,以便用户可以下载和安装ActiveX组件通过Internet Explorer中的标准对话框。

答案 1 :(得分:0)

我看到两个选项:

  1. 编写内部调用COM对象并返回结果的ISAPI DLL。将Apache用于ISAPI主机。
  2. 编写独立的简单HTTP服务器。 Indy可以像微风一样完成。与ISAPI一样。只需调用COM并返回HTML。
  3. 这也确保了安全性,因为COM不会直接暴露在互联网上。它只能通过代理访问。