Форум: "Прочее";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];
ВнизМожно ли написать ActiveX компонент, внедрить его в HTML, Найти похожие ветки
← →
Layner © (2006-04-13 11:07) [0]и в самом ActiveX компоненте сделать коннект в БД (MSSQL 2000), и в результате показать выборку. В идеале выборку показать в Excel-гриде. Если можно, то вопрос:
1. Коннект к БД, выборка данных, ActiveX компонент делает с клиента, или с сервера где он лежит (на сервере 2 файла, index.html, mycomp.ocx, в index.html прописан mycomp.ocx)?
2. Excel грид сложно ли приспособить под показ выборки? Как я понимаю, нужно при компиляции указать в свойствах проекта использовать Excel?
Тут просто столкнулся в первый раз с такой темой, прошу простить если что не то сформулировал :)
Заранее благодарю.
← →
Ega23 © (2006-04-13 11:10) [1]А для чего ActiveX-то нужен?
Неужели не хватает встроенных средств?
← →
Ломброзо © (2006-04-13 11:14) [2]Layner © (13.04.06 11:07)
Ответы на все вопросы положительные, но связка IE+самописные ActiveX работоспособна только в Intranet и то со многими оговорками. Во-первых, у пользователей должны быть отключены или соответствующе настроены персональные брандмауэры. Во-вторых, некоторые антивирусы и те же брандмауэры выгрызают ссылку на ActiveX из HTML-кода. В-третьих, настройка безопасности IE может не позволять выполнение неподписанных ActiveX. В-четвертых, настройки безопасности могут не позволить компоненту ActiveX инсталлироваться с сервера.
Excel как замена гриду вещь неудобная, хотя некоторые умельцы его для этих целей приспосабливают.
← →
McSimm © (2006-04-13 11:16) [3]
> ActiveX компонент делает с клиента, или с сервера где он
> лежит
С клиента, конечно.
← →
Чапаев © (2006-04-13 11:17) [4]
> В-третьих, настройка безопасности IE может не позволять
> выполнение неподписанных ActiveX.
И по умолчанию таки не позволяет. И даже не выдаёт никаких предупреждений о том, что выполнение компонента заблокировано. :-)
← →
Layner © (2006-04-13 11:17) [5]Каких встроенных? Просто HTML генерить с помощью PHP, понятно, но не хочу использовать, т.к. ещё надо рисовать вручную много графиков под каждой таблицей. Хотелось бы сделать ActiveX компонент, внедрить его в страницу, задать размеры компанента (как IFRAME 600 на 300 пикселей например). И в этом элементе показать таблицу, потом с выборкой, а если от Excel наследовать, то и графиков внедрить по полной, главное не привязываться к HTML и PHP, уж больно муторно там делать это самое. Сайт у меня служебный, сказали переделать, то что было сделано ранее переделывать в чистую мне не хочется, уж больно много сил затрачено, на эти же графики..
← →
Calm © (2006-04-13 11:18) [6]>>но связка IE+самописные ActiveX работоспособна только в Intranet
С чего вдруг?
Кстати, чем по-вашему отличается internet от internet?
Согласен, что подход кривоватый. ActiveX в HTML - неудачнаятехнололгия.
← →
Layner © (2006-04-13 11:22) [7]
Ломброзо © (13.04.06 11:14)
Да, эт оя зная что только в IE, это все в норме, сайт только корпоративный, все пользуются IE, с безопасностью тоже проблем не возникнет, сделаем всем самую низкую на центральный сайт.McSimm © (13.04.06 11:16)
Ага, значит выборку можно делать прямо из компанента? А тогда преждевременный вопрос, как эти клиенты будут коннектится в SQL серверу? Или строку подключения можно прописать в самом компаненте, и с одним пользователем/паролем все будут выбирать данные. И самое не приятно, а что, выборка значит пойдет по стандартному порту 1433 через интернет?
← →
Layner © (2006-04-13 11:25) [8]ActiveX в HTML - неудачнаятехнололгия.
Мне цель - не генерить картинки в гифах, не показывать данные в < table >. В чем это ещё можно казать, кроме ActiveX? Flash делать, равносильно картинке генерить, да и что в Flash покажешь, есть ли там таблицы, встроенные графики? Т.е. помоему ActiveX самое то под такие задачи?
← →
Плохиш © (2006-04-13 11:28) [9]
> Layner © (13.04.06 11:22) [7]
Ты уже разговаривал об этом с сисадмином? Нормальный сисадмин за одну только такую идею убьёт.
← →
Layner © (2006-04-13 11:35) [10]Вот я и пытаюсь выяснить все плюсы и минусы... Естественно, если ему нужен порт 1433, то ничего я не сделаю, т.к. кругом настроенные шлюзы, коммутаторы, маршрутизаторы, и перенастраивать никто просто не будет. Хорошо, пусть коннект отпадает, данные я буду передавать в виде массива. Массив данных можно передать как параметр в ActiveX компонент? Ну или я генерю файлики на WWW сервере, а ActiveX компонент их просто скачает и отобразит, это выход?
← →
McSimm © (2006-04-13 11:42) [11]
> ActiveX самое то под такие задачи?
именно.
> если ему нужен порт 1433, то ничего я не сделаю
А если забыть, что это ActiveX в браузере и думать о нем как об обычной программе, тогда есть шансы что-либо сделать?
← →
Layner © (2006-04-13 11:50) [12]
[11] McSimm © (13.04.06 11:42)
Определенно не буду делать коннект к БД. Т.е. буду из компонента загружать файлик с данными для отображения/построения графика.
Тогда вопрос последний, нашел пару статей по началу работы с ActiveX в Delphi но они первоначальные, ничему особенному не учат кроме теории, может кто нибудь подкинет ссылку на хороший пример по написанию ActiveX компонента под веб? Поиском уже час как пользуюсь, блин, ничего путного нет типа hello word :)
← →
Calm © (2006-04-13 13:50) [13]Ищи книжку Елмановой, Тенцера и Трепалина
http://books.weblandy.com/search.php?find=delphi%20com
Есть и более свежие издания.
Опробовано на людях - икогда не писавшие ActiveX вообще научаются делать и для веб.
Еще можно попрбовать поискать статьи Тенцера, вроде там должно быть.
← →
Layner © (2006-04-13 16:15) [14]
Calm © (13.04.06 13:50)
, спасибо, поищу, почитаю. С азами вроде разобрался, сейчас 2й час сижу, что то не получается передать параметр в компонент. :( Т.е. делаю например как тут показано:
http://cdbooks.narod.ru/fip/b_html/062.htm<object
CLASSID="CLSID:AAA" - (идентификатор класса объекта)
ID--XXX - (локальный идентификатор объекта, используемый в пределах документа)
WIDTH=xxx - (ширина объекта в окне броузера)
HEIDTH=xxx - (высота объекта)
ALIGN=xxx - (выравнивание визуального представления объекта)
HSAPCE=xxx - (горизонтальные отступы)
VSAPCE=xxx - (вертикальные отступы)
>
<param name1 = имя параметра value = значение параметра>
<param name2 = имя параметра value = значение параметра>
<param name3 = имя параметра value = значение параметра>
<param nameN = имя параметра value =значение параметра>
</object>
Но вот как эти параметры "выцепить", понять не могу. Создал код для тестирования
var
i: integer;
begin
//memo1 - находится на ActiveX компоненте.
memo1.Lines.Clear;
for i:=0 to ParamCount do
memo1.Lines.Add(ParamStr(i));
end;
В результате, в любом случае получаю только 2 параметра: это путь к exe браузера, и второе - путь к OCX компоненту... И никакие параметры по ссылке из html страницы не передаются, или передаются, может получать пытаюсь не правильно?
← →
Layner © (2006-04-14 08:02) [15]Господа дельфисты! Не хочу показаться навязчивым, но вопрос про передачу параметра в ActiveX компонент из HTML страницы так и не могу решить, может кто реализовывал похожее, объясните, как его передать и отловить в компоненте. Наверняка из вышеприведенного кода что то одно правильное, знать бы хотябы точно что правильно, тогда копать где не правильно :(
← →
Layner © (2006-04-14 08:33) [16]Нашел как в VB это делать, в Delphi не могу найти :(
<OBJECT ID="ctlTest"
CLASSID="CLSID:F70F2603-E21C-4AAE-A86D-33DBF6C3FEC4"
CODEBASE="TestCAB.CAB#version=0,0,0,46">
<PARAM NAME="Server" VALUE="TestServer">
</OBJECT>Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
gsConnectionString = PropBag.ReadProperty("Server")
End Sub
← →
Layner © (2006-04-14 09:12) [17]Вопрос снят, нашел что искал!
http://www.compress.ru/Archive/CP/2002/2/49/
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.011 c