Форум: "Начинающим";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
ВнизВызвать событие наследника из родителя? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c