Вниз
Скачать: 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.022 c
2-1233662510
seferot
2009-02-03 15:01
2009.03.29
Удаление записи типа record.


2-1233341544
CodeMaster
2009-01-30 21:52
2009.03.29
Свойство Parent


15-1232302539
ocean
2009-01-18 21:15
2009.03.29
Вербер "Имрерия ангелов"


2-1234238813
Программер
2009-02-10 07:06
2009.03.29
расшифровать кодировку


2-1233348637
Тимоха
2009-01-30 23:50
2009.03.29
класс TThread и api




   Наверх