![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день уважаемые.
1. есть dll в виде COM Inprocess server (для управления(железкой) контроллером). 2. сделал импорт библиотеки 3 получил файл Apda21Control_TLB.pas вопрос как получить/перехватить ответ на запрос (dispinterface events) когда запрашиваю время apda.GetTime(1); наступает событие OnTime код из файла Apda21Control_TLB.pas - (в аттаче) Код:
function OnTime(Id: Integer; Value: TDateTime): HResult; dispid 6; Код:
procedure Tmonitor.Button1Click(Sender: TObject);
var
Apda:IApda21Interface;
ipaddr:string;
begin
ipaddr:= '192.168.20.55';
Apda:= COApda21Interface.Create;
Apda.Clear;
Apda.CreateApda(1,1,2048,2,ipaddr,'123456');
Apda.Interval:= 55;
Apda.CreatePollers;
Apda.Active:= 1;
//запрос текущего времени контроллера
apda.GetTime(1);
end;Последний раз редактировалось balue, 04.11.2012 в 00:36. |
|
#2
|
||||
|
||||
|
Реализация событий COM+ в среде Delphi
EventSinkImp очень удобная програмка (+демы) автоматом создает классы для с агрегацией событий |
| Этот пользователь сказал Спасибо cotseec за это полезное сообщение: | ||
balue (04.11.2012)
| ||
|
#3
|
||||
|
||||
|
Invoke переопредели. DispID у тебя есть.
|
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
balue (04.11.2012)
| ||
|
#4
|
|||
|
|||
|
Цитата:
|