Кто-нибудь подскажите где можно взять инфу по подключению OCX
Этот топик читают: Гость
Ответов: 1891
Рейтинг: 110
|
|||
карма: 0 |
|
Ответов: 893
Рейтинг: 18
|
|||
ЭЭЭЭ а нигде мой топик по OCX так и остался без ответа
http://hiasm.com/xf/topic.php?t=9397&start=10 |
|||
карма: 0 |
|
Ответов: 1891
Рейтинг: 110
|
|||
Byuik, если не дали ответа - ищи инфу и изучай
|
|||
карма: 0 |
|
Ответов: 893
Рейтинг: 18
|
|||
Дык естли внимательно читал топик тогда ты должен был видеть ссылки которые я приводил по OCX там и есть инфа...
|
|||
карма: 0 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Помнится, делал я один компонент, UseActiveX
http://hiasm.1gb.ru/xf/topic.php?t=3909&start=0 Только почему-то (как минимум в b165), при закрытии программы теперь exception вылетает. Раньше такого не было. |
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
не освобождает значит чего-то при выходе
|
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
скорее наоборот, чего-то освобождается 2 раза
|
|||
карма: 9 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Не, там вызов inherited Init закомментирован, вместо него идёт своя инициализация. Почему-то если сделать стандартную инициализацию, то цвет Label-а (когда ActiveX не найден) не тот, который я задаю. Но ошибка исчезает. Надо будет доделать (можно-ж просто свойства _prop_Color и _prop_Font.Color изменить).
|
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Оно у тебя еще и PControl
|
|||
карма: 9 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Нет, оно у меня THIWin, имеющий в поле Control объект типа TOleCtl (или Label, если ActiveX-а нет).
Кстати, я обновил компонент UseActiveX, пофиксил баги, добавил аргументы событий. Теперь можно и в стандарт Единственная проблема: что делать с IDispatch и записями? Как с ними работать? |
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
а что с ними? Архив не смотрел, но вот что интересно: а компонент умеет предоставлять доступ к виртуальным методам и полям ActiveX элемента? Или только отображение на форме?
|
|||
карма: 27 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Компонент работает с 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 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Совсем запугал умными словами, в общем
|
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
по идее можно непосредственно в среде грузить ActiveX элемент и выстраивать по нему наборы точек. Тогда доступ к IDispatch для большинства элементов не потребуется вовсе. Для конечного пользователя это будет практически таже установка нового элемента...
|
|||
карма: 27 |
|
Ответов: 1891
Рейтинг: 110
|
|||
tsdima, писал(а): На данный момент можно вызывать методы ActiveX элемента с параметрами, подавая на doExecute строку в формате VBScriptА по-подробнее можно про формат VBScript типа так: Set report = CreateObject("CatchysoftReport.Report") или как? |
|||
карма: 0 |
|