Запустите ActiveX через Интернет - PullRequest
1 голос
/ 21 апреля 2010

У нас есть веб-страница, которая отлично работает на локальном компьютере, так как использует 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>

и показывает отлично

альтернативный текст http://www.balexandre.com/temp/2010-04-21_0904.png

Мой вопрос , Как мы можем перенести это в веб-среду? Как разработчик Delphi понятия не имеет, и я не являюсь товарищем по Delphi.

Я хочу иметь возможность использовать эту "веб-страницу" на веб-адресе

http://INTRANET/mysite/thispage.html

Любая идея, любая открываемая дверь очень ценится:)

Ответы [ 2 ]

2 голосов
/ 21 апреля 2010

Вам следует развернуть элемент управления ActiveX на своем веб-сервере и указать URL-адрес CAB-файла на странице HTML в атрибуте codebase элемента объекта, чтобы пользователи могли загрузить и установите компонент ActiveX через стандартный диалог в Internet Explorer.

0 голосов
/ 21 апреля 2010

вижу два варианта:

  1. Напишите ISAPI dll, которая внутренне вызывает COM-объект и возвращает результат. Используйте Apache для ISAPI-хоста.
  2. Написать автономный простой HTTP-сервер. С Indy это можно сделать как на одном дыхании. Сделайте так же, как с ISAPI. Просто позвоните в COM и верните HTML.

Это также обеспечивает безопасность, так как COM напрямую не подключен к Интернету. Доступен только через прокси.

...