• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Activex Form Lotesnotes7.0

  • Автор темы cinet
  • Дата начала
C

cinet

Есть ActiveX библиотека, которую необходимо использовать в Лотус, есть работающий пример на Delphi, которым cтроятся набор панелей и элементов.

Пример кода на Object Pascal

[codebox]//создаем активную форму InfinityCCCoreObj
Core:= TInfinityCCCoreObj.Create(Self);
//вызывем метод авторизации
Core.Logon;
//создаем панель управления звонками с помощью метода Init,
//передавая в качестве единственного аргумента ссылку на интерфейс InfinityCCCoreObj
CallManagement:= TInfinityCCCallManagementObj.Create(Self);
CallManagement.Parent:= Panel2;
CallManagement.Align:= alClient;
CallManagement.Show;
CallManagement.Init(Core.ControlInterface);[/codebox]

После выполнения этого кода в Panel2 появляется элемент управления звонками, с которым можно работать.

Необходимо проделать тоже но в LotesNotes7.0
Вот какой код у меня получился:
[codebox]
Sub Click(Source As Button)
‘создаем активную форму InfinityCCCoreObj
Set oCCore = CreateObject("InfinityCCCore.InfinityCCCoreObj")
oCCore.SetLogLevel(1)
‘вызывем метод авторизации. Появляется окошко авторизации, вводим логин пароль, авторизация проходит успешно.
oCCore.Logon
создаем панель управления звонками
Set oCallManagement=CreateObject("InfinityCCCallManagement.InfinityCCCallManagementObj")[/codebox]

с помощью метода Init,
передавая в качестве единственного аргумента ссылку на интерфейс. SelfReference сделана самими разрабочиками ActiveX, вызвращает ссылку на себя. Является аналогом Core.ControlInterface из примера на делфи
oCallManagement.Init(oCCore.SelfReference)

Ошибок не возникает, код отрабатывает. После этого можно обращаться к объекту oCallManagement, читать/писать свойства, НО панель не появляется.

Наверно все дело в том, что аналоги следующим строкам на делфи у меня найти не получилось.
CallManagement.Parent:= Panel2; - в лотусе у объекта oCallManagement свойства Parent нет. Возникает ошибка Instance member PARENT does not exists
CallManagement.Align:= alClient;
CallManagement.Show; в лотусе у объекта oCallManagement метода Show нет. Возникает ошибка Instance member SHOW does not exists.

Попытки добавить в код следующие строки ошибок не вызывают, но все-равно ничего не появляется:
oCallManagement.Visible=True
oCallManagement.AutoSize=True
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!