Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

Вызвать событие наследника из родителя?   Найти похожие ветки 

 
Ezorcist   (2007-03-01 15:35) [0]

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 15:37) [1]

И ?


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

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


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

2 Плохиш

Спасибо :))


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

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


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


> Ezorcist   (01.03.07 15:46) [3]

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

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



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

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
15-1172918421
wsw
2007-03-03 13:40
2007.03.25
Как вычилсить корень из числа типа int64? sqrt() - не помогает!


1-1169639469
msgipss
2007-01-24 14:51
2007.03.25
как изменить кодировку ответа web службы


2-1172598398
dsa256
2007-02-27 20:46
2007.03.25
Прослушивание широковещательных каналов по протоколу UDP


6-1160239171
CAMCOH
2006-10-07 20:39
2007.03.25
TidHTTP и национальные символы...


2-1172961190
Ш-К
2007-03-04 01:33
2007.03.25
Как добавить поле в результат?