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

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

Вызвать событие наследника из родителя?


Ezorcist ©   (2007-03-01 15:35:00) 

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
   procedure myonp;
 private
   { Private declarations }
 public
   { Public declarations }
 end;

 Tparentclass = class (TObject)
   public
     procedure myproc;
 end;
 TonP = procedure of object;

 TDClass = class (Tparentclass)
    public
     fonp:TonP;
     property onp:TonP read fonp write fonp;
 end;
var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure Tparentclass.myproc;
begin
 //Êàê îòñþäà âûçâàòü fonp ?
end;

procedure TForm1.myonp;
begin
showmessage('Ok!');
end;

var m:TDClass;
procedure TForm1.Button1Click(Sender: TObject);
begin
 m:=TDClass.Create;
 m.onp:=myonp;
end;

end.


Плохиш   (2007-03-01 17:45:00) [1]


> Ezorcist   (01.03.07 15:46) [3]

Если я такое увижу в коде и руки можно будет дотянуть до аФФтара, то порву этого аФФтара на мелкие части :@

Не может и не должен знать предок о том какие свойства/методы могут появиться у потомка.


Аноним   (2007-03-01 17:17:00) [2]

Задача стандартная, решается виртуальностью метода


Ezorcist   (2007-03-01 15:46:00) [3]

2 Плохиш

Спасибо :))


Плохиш   (2007-03-01 15:39:00) [4]

В общем случае для статических методов - никак. В данном контексте приведением типа TDClass(self).fonp;


Сергей М.   (2007-03-01 15:37:00) [5]

И ?


Наверх

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