Вниз
Скачать: 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.02 c
2-1233557503
Mops
2009-02-02 09:51
2009.03.29
определение variant


3-1215762007
Viod
2008-07-11 11:40
2009.03.29
Stream and AdoCommand


15-1233046748
Правильный$Вася
2009-01-27 11:59
2009.03.29
Opera 9.63 задваивает открываемые страницы


2-1233437886
Vemer
2009-02-01 00:38
2009.03.29
Как присоединить данные к DIB?


15-1232696519
desc
2009-01-23 10:41
2009.03.29
Склеить видео файлы




   Наверх