| 
| Лена | 
| Отправлено: 17.01.2007, 14:25 |  |  
|  
 Мастер участка
 
 Группа: Участник
 Сообщений: 501
 
 
 
  
 | В OleContainer загружен ActiveX: OleContainer1->CreateObject(NameOfClass,false);
 OleContainer1->DoVerb(ovShow);
 Где NameOfClass имя класса нужного ActiveX.
 У загруженного ActiveX-а есть методы и события. Например, метод About можно вызвать так:
 Form1->OleContainer1->OleObject.OleFunction(“About”);
 После вызова получаем окно About компонента.
 Можно вызвать метод с параметрами. Например, метод с одним параметром вызывается так:
 TAutoArgs<1> args;
 args[1] = par1; //где par1 значение параметра
 Form1->OleContainer1->OleObject.OleFunction(Имя метода,static_cast<TAutoArgsBase*>(&args));
 
 Вопрос как вызвать событие? Например, ActiveX имеет событие DblClick без параметров.
 Так вызвать нельзя:
 Form1->OleContainer1->OleObject.OleFunction(“DblClick”);
 Исключение пишет: “Неизвестный тип”;
 И так тоже не проходит:
 Form1->OleContainer1->OleObject.OlePropertyGet(“DblClick”);
 
 Как программно вызвать на выполнение событие ActiveX-а? Имя события известно и сам ActiveX загружен в OleContainer.
 
 Вот тут нашла http://rsdn.ru/article/qna/com/comevents.xml но не разобралась как под Builder адаптировать.
 
 Отредактировано Лена — 19.01.2007, 10:45
 |  
|  |  
| ion | 
| Отправлено: 19.01.2007, 11:18 |  |  
| 
 Ученик-кочегар
 
 Группа: Участник
 Сообщений: 15
 
 
 
  
 | Честно сказать давно не писал активексы, так как пишем щас на яве(технология для малоимущих, или поппросту для нищих)
 но не надо путать события и функцию события.
 событие это член определенного типа, которому присвоена ссылка на функцию
 определенной сигнатуры, что тебе мешает написать свою функцию
 и присвоить ее клику( только вот сигнатуру не вьезжаю)
 могу ошибиться, но там есть параметры( по умолчанию), а если есть параметры то это закон, хотя этот закон ты можешь изменить сама,
 потом обращаться с функцией как с псевдо событием, обрати внимание на
 сигнатуру, тут у тебя кажется подвох.
 тема интересная, практически нигде толково не обьясняется,
 пробовал в свое время написать хелпики по ней
 http://ion100.hut1.ru/Builder&Delphi.htm что получилось, не знаю
 но должно помочь с уважением ION
 |  
|  |  
| Лена | 
| Отправлено: 28.02.2007, 12:59 |  |  
|  
 Мастер участка
 
 Группа: Участник
 Сообщений: 501
 
 
 
  
 | Похоже нашла решение в этой книге (глава 12): http://www.bhv.ru/books/full_contents.php?id=406 Попробую реализовать.
  
 P.S.
 Все, вопрос решен!
  
 Отредактировано Лена — 12.03.2007, 15:44
 |  
|  |  |