Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сравнение двух величин TNotifyEvent [D6, WinXP]


Страницы:   1 2 3 4

Andsin ©   (2005-09-26 12:26:00) 

Привет!
Планирую использовать контейнер для уведомления экземляров классов о событии. Именно экземпляров, а не одного экземпляра. Пытаюсь реализовать так:

procedure Foo.AttachOnReply(AnEvent: TNotifyEvent);
var
 matched: boolean;
 i: integer;
begin
 matched := false;
 for i := 0 to Length(FEvents)-1 do
   if FEvents[i] = AnEvent then matched := true;
 if not matched then
 begin
   i := Length(FEvents);
   SetLength(FEvents, i+1);
   FEvents[i] := AnEvent;
 end;
end;

В строчке if FEvents[i] = AnEvent then matched := true;возникают две одинаковых ошибки:
[Error] foo.pas(221): Not enough actual parameters.
т.е. компилятор пытается вызвать соответствующие методы.
Могу ли я исправить код так, чтобы компилятор проверял равенство указателей на метод класса, вместо вызова?
P.S. Преобразование TNotifyEvent  к типу TMethod, на мой взгляд, не является документированной производителем, поэтому такие варианты не катят...

Спасибо!


alex_***   (2005-09-26 12:45:00) [61]

видимо так надо: if @FEvents[i] = @AnEvent


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо