Вниз
Скачать: CL | DM;

Интерфейсы и события...   Найти похожие ветки 

 
Knight ©   (2009-01-30 08:49) [0]

Можно ли реализовать сабж?
Делаю так. Где "косяк"?

type
 IFoo=interface

 TonSomeEvent=procedure(Foo:IFoo; X,Y:Byte);

 IFoo=interface
   function GetOnFoo:IFoo;
   procedure SetOnFoo(const Value:IFoo);

   property onFoo:TonSomeEvent read GetOnFoo write SetOnFool;
 end;
 ---

 TFoo=class(TInterfacedObject,IFoo)
 .....
 end;

 ---
 TSomeClass=class()
   FFoo:IFoo;
 ...
   procedure onSomeEvent(Foo:IFoo; X,Y:Byte);
   property Foo:IFoo read FFoo write SetFoo;
 ---

 procedure TSomeClass.SetFoo(const Value:IFoo)  
   FFoo=Value;
   FFoo.onSomeEvent=onSomeEvent;

< [Pascal Error] SomeUnit.pas(49): E2009 Incompatible types: "regular procedure and method pointer"

 end;


 
{RASkov} ©   (2009-01-30 09:03) [1]

> TonSomeEvent=procedure(Foo:IFoo; X,Y:Byte);

TonSomeEvent=procedure(Foo:IFoo; X,Y:Byte) of Object;?


 
Knight ©   (2009-01-30 09:07) [2]


> [1] {RASkov} ©   (30.01.09 09:03)

ТОЧНО!!! Забыл :))))

Спасибо. Вопрос исчерпан %)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
15-1232519912
TUser
2009-01-21 09:38
2009.03.29
Большой адронный коллайдер и физические исследования на нем


2-1234173614
Iriss
2009-02-09 13:00
2009.03.29
TObjectList.Assign


2-1233776507
Ramil
2009-02-04 22:41
2009.03.29
TEdit как калькулятор


6-1201601068
Maloj2007
2008-01-29 13:04
2009.03.29
Отправка пакетов


15-1232422546
DelphiN!
2009-01-20 06:35
2009.03.29
Неудается завершить пользовательский процес




   Наверх