Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.
  • Форумы
  •  » Разработка
  •  » Аналог ActiveX на делфи. Вроде бы подключается, но как вызвать функции

№126-06-2007 18:18:35

Danechka
Участник
 
Группа: Members
Зарегистрирован: 26-06-2007
Сообщений: 7
UA: Opera 9.2

Аналог ActiveX на делфи. Вроде бы подключается, но как вызвать функции

Опишу проблему:
Есть готовый ActiveX-компонент. В IE все работает отлично.
Появилась необходимость работать на этой страничке из FireFox.

Что я сделал: решил сделать из него плагин для браузера - ведь по сути это обычный dll файл.
Используя файл  npapi.pas даже получилось выводить в браузере форму с кнопочками.
Единственное что не получилось, но очень нужно - что б Java Script мог вызывать функции и процедуры этой подключенной dll'ки-плагина.

Пробовал вот так:

Выделить код

Код:

<embed id="eee" src="fig1.xcv" type="application/demo" width=368 height=226  Red="255">
</embed>


<a href="#" onClick="aaa()">Click me</a>
<script>
 function aaa(){
	var uu = document.getElementById("eee");
alert(uu);
alert('Перед вызовом процедуры');
uu.CallMe();
alert('ПОсле вызова');
}

Вызывает только "alert('Перед вызовом процедуры');" и дальше не работает.
Вобщем вся проблема - в вызове из Java-скрипта функций подключенной библиотеки.

(Может слегка сумбурно написал, но думаю мысль понятна.
Если кто подскажет решение проблемы или может другой вариант буду очень благодарен!!!!)

Отсутствует

 

№202-07-2007 10:41:55

Danechka
Участник
 
Группа: Members
Зарегистрирован: 26-06-2007
Сообщений: 7
UA: Opera 9.2

Re: Аналог ActiveX на делфи. Вроде бы подключается, но как вызвать функции

MeadCo's Neptune - не помогло тоже... :cry:
Неужели никто не знает?

Отсутствует

 

№302-07-2007 10:51:45

KML
Участник
 
Группа: Extensions
Откуда: Днепропетровск
Зарегистрирован: 01-06-2005
Сообщений: 422
UA: Foxware 0.0

Re: Аналог ActiveX на делфи. Вроде бы подключается, но как вызвать функции

Danechka, почитайте Scripting Plugins in Mozilla, в инете есть примеры.


:::: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0

Отсутствует

 

№403-07-2007 16:51:26

Danechka
Участник
 
Группа: Members
Зарегистрирован: 26-06-2007
Сообщений: 7
UA: Opera 9.2

Re: Аналог ActiveX на делфи. Вроде бы подключается, но как вызвать функции

KML пишет

Danechka, почитайте Scripting Plugins in Mozilla, в инете есть примеры.

Там про С написано, а хотелось бы про Delphi......
npapi.pas я нашел и даже создал плагин, который выводит в Firefox форму с кнопочками.
Единственное, что осталось - получить доступ к функциям этого плагина из JavaScript.

Насколько я понимаю, нужно смотреть в строну XPCOM, но примеров с Delphi никак не могу найти.... :(

Отредактировано Danechka (03-07-2007 16:53:11)

Отсутствует

 

№503-07-2007 18:57:49

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Аналог ActiveX на делфи. Вроде бы подключается, но как вызвать функции

Может быть, плагин без соответствующего *.xpt ?


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№604-07-2007 10:16:11

Danechka
Участник
 
Группа: Members
Зарегистрирован: 26-06-2007
Сообщений: 7
UA: Firefox 2.0

Re: Аналог ActiveX на делфи. Вроде бы подключается, но как вызвать функции

Anton пишет

Может быть, плагин без соответствующего *.xpt ?

гм... похоже да... а что это за файл? Это список экспортируемых функций плагина?
А как его получить в Делфи?

(Насколько я понимаю, то в С он получается, если пропустить .idl файл через компилятор xpidl.exe. Я прав? Также на выходе получается заголовочный файл .h, который нужно компилировать с проектом. Как же поступить в Делфи???)

Отредактировано Danechka (04-07-2007 10:44:05)

Отсутствует

 

№704-07-2007 11:39:30

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Аналог ActiveX на делфи. Вроде бы подключается, но как вызвать функции

Как же поступить в Делфи???

Точно так же, прописать в *.idl прототипы экспортируемых функций и пропустить через xpidl.

p.s. вот здесь: http://www.mozilla.org/projects/plugins … tml#script (Example 1).

Отредактировано Anton (04-07-2007 11:54:34)


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№804-07-2007 12:04:18

Danechka
Участник
 
Группа: Members
Зарегистрирован: 26-06-2007
Сообщений: 7
UA: Firefox 2.0

Re: Аналог ActiveX на делфи. Вроде бы подключается, но как вызвать функции

Anton пишет

Как же поступить в Делфи???

Точно так же, прописать в *.idl прототипы экспортируемых функций и пропустить через xpidl.

p.s. вот здесь: http://www.mozilla.org/projects/plugins … tml#script (Example 1).

А как быть с файлом .h ? Его нужно как-то подключать к проекту???
У вас случайно примера никакого нет?
А то чувствую, что помимо xpt будут еще какие-то проблемы.

Отсутствует

 

№904-07-2007 12:21:01

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 2.0
Веб-сайт

Re: Аналог ActiveX на делфи. Вроде бы подключается, но как вызвать функции

А как быть с файлом .h ? Его нужно как-то подключать к проекту???

xpidl создаст *.h-файл, если будет задана опция командной строки '-m header'. Если будет задана опция '-m typelib', будет создан *.xpt.

У вас случайно примера никакого нет?

Нет. Плагинами и не-javascript компонентами я пока ещё не занимался.

А то чувствую, что помимо xpt будут еще какие-то проблемы.

Поискал по теме: http://developer.mozilla.org/en/docs/Ge … g_Plug-ins, http://www.mozilla.org/projects/plugins … tml#scripthttp://www.iol.ie/~locka/mozilla/plugin.htm, везде упоминается *.xpt. Если Delphi правильно реализует интерфейс в dll, думаю, проблем быть не должно.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 
  • Форумы
  •  » Разработка
  •  » Аналог ActiveX на делфи. Вроде бы подключается, но как вызвать функции

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]