Вверх ↑
Этот топик читают: Гость
Ответов: 1891
Рейтинг: 110
#1: 2007-10-08 22:33:38 ЛС | профиль | цитата
Кто-нибудь подскажите где можно взять инфу по подключению OCX
карма: 0
%time%
0
Ответов: 893
Рейтинг: 18
#2: 2007-10-08 22:42:07 ЛС | профиль | цитата
ЭЭЭЭ а нигде мой топик по OCX так и остался без ответа
http://hiasm.com/xf/topic.php?t=9397&start=10
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1891
Рейтинг: 110
#3: 2007-10-08 23:16:25 ЛС | профиль | цитата
Byuik, если не дали ответа - ищи инфу и изучай
карма: 0
%time%
0
Ответов: 893
Рейтинг: 18
#4: 2007-10-09 00:33:04 ЛС | профиль | цитата
Дык естли внимательно читал топик тогда ты должен был видеть ссылки которые я приводил по OCX там и есть инфа...
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 2125
Рейтинг: 159
#5: 2007-10-09 11:00:41 ЛС | профиль | цитата
Помнится, делал я один компонент, UseActiveX
http://hiasm.1gb.ru/xf/topic.php?t=3909&start=0
Только почему-то (как минимум в b165), при закрытии программы теперь exception вылетает. Раньше такого не было.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2007-10-09 11:21:14 ЛС | профиль | цитата
не освобождает значит чего-то при выходе
карма: 27
0
Ответов: 9906
Рейтинг: 351
#7: 2007-10-09 11:34:41 ЛС | профиль | цитата
скорее наоборот, чего-то освобождается 2 раза
карма: 9

0
Ответов: 2125
Рейтинг: 159
#8: 2007-10-09 11:54:41 ЛС | профиль | цитата
Не, там вызов inherited Init закомментирован, вместо него идёт своя инициализация. Почему-то если сделать стандартную инициализацию, то цвет Label-а (когда ActiveX не найден) не тот, который я задаю. Но ошибка исчезает. Надо будет доделать (можно-ж просто свойства _prop_Color и _prop_Font.Color изменить).
карма: 1

0
Ответов: 9906
Рейтинг: 351
#9: 2007-10-09 12:32:37 ЛС | профиль | цитата
Оно у тебя еще и PControl
карма: 9

0
Ответов: 2125
Рейтинг: 159
#10: 2007-10-09 14:27:11 ЛС | профиль | цитата
Нет, оно у меня THIWin, имеющий в поле Control объект типа TOleCtl (или Label, если ActiveX-а нет).
Кстати, я обновил компонент UseActiveX, пофиксил баги, добавил аргументы событий.
Теперь можно и в стандарт

Единственная проблема: что делать с IDispatch и записями? Как с ними работать?
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#11: 2007-10-09 15:16:07 ЛС | профиль | цитата
а что с ними? Архив не смотрел, но вот что интересно: а компонент умеет предоставлять доступ к виртуальным методам и полям ActiveX элемента? Или только отображение на форме?
карма: 27
0
Ответов: 2125
Рейтинг: 159
#12: 2007-10-09 15:27:30 ЛС | профиль | цитата
Компонент работает с IDispatch ActiveX элемента. На данный момент можно вызывать методы ActiveX элемента с параметрами, подавая на doExecute строку в формате VBScript, т.е. Имя метода, пробел, параметр, запятая, и т. д. Кроме того, компонент выдаёт события и их агрументы в виде МТ-потока. Там в архиве есть пример веб-браузера, иллюстрирующий возможности компонента.

В идеале хотелось бы иметь стандартный тип данных IDispatch, и компонент IDispatch. Тогда можно было бы сделать Var-точку, выдающую IDispatch ActiveX элемента, и подключив её к компоненту IDispatch, производить вызов методов, запрос/установку значений свойств. Кроме того, если метод/свойство также возвращает в качестве результата IDispatch, его тоже можно было бы использовать (аналогично и для событий).

Кстати, там есть функция OleToData, которую я сначала взял из VBJScript.pas, но её пришлось изменить, т.к. она глючила. Предлагаю вынести функции OleToData и DataToOle из VBJScript.pas в share.pas учитвая изменения, которые пришлось сделать в UseActiveX.pas
А ещё OLE-шную обёртку хиасмовских массивов THiArraySink и хиасмовскую обёртку OLE-шных массивов TScriptArraySink.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#13: 2007-10-09 16:05:13 ЛС | профиль | цитата
Совсем запугал умными словами, в общем
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#14: 2007-10-09 17:36:09 ЛС | профиль | цитата
по идее можно непосредственно в среде грузить ActiveX элемент и выстраивать по нему наборы точек. Тогда доступ к IDispatch для большинства элементов не потребуется вовсе. Для конечного пользователя это будет практически таже установка нового элемента...
карма: 27
0
Ответов: 1891
Рейтинг: 110
#15: 2007-10-09 21:26:32 ЛС | профиль | цитата
tsdima, писал(а):
На данный момент можно вызывать методы ActiveX элемента с параметрами, подавая на doExecute строку в формате VBScript


А по-подробнее можно про формат VBScript типа так: Set report = CreateObject("CatchysoftReport.Report") или как?
карма: 0
%time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)