★怎样在继承的时候(即inherited的时候),传递一个参数给父类过程?具体内详。 ★怎样在继承的时候(即inherited的时候),传递一个参数给父类过程?譬如,我想传递一个当前子窗口的记录集 TADODataSet 给父窗口,让父窗口的过程去执行相应操作,怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ta=class procedure dosomething;virtual; procedure do ;end;tb=class(ta) procedure dosomething;override;可以在这个过程写代码end;procedure ta.do;begin dosomething;end; ta=class procedure dosomething(AOwner:TComponent);virtual;end;tb=class(ta) procedure dosomething;override;end;procedure tb.dosomething;begin //子类的代码 ... inherited dosomething(AOwner);end; 在父类过程中设置参数:如 T1 = class procedure A(DataSet: TDataSet);virtual; end; T2 = class(T1) procedure A(DataSet: TDataSet);override; end;var Form1: TForm1;implementation{$R *.dfm}{ T1 }procedure T1.A(DataSet: TDataSet);begin if DataSet <> nil then begin ShowMessage( DataSet.Name); end;end;procedure T2.A(DataSet: TDataSet);begin inherited; //完整的写法是: inherited A(DataSet);end;procedure TForm1.Button1Click(Sender: TObject);var t: T2;begin t := t2.Create; t.A(table1); t.Free;end;————————————————————————————————————宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。———————————————————————————————————— 楼主,你的问题是循环单元引用,在编程中是禁止的,如果一定要用的话,可以参见《DELPHI5指南》的介绍了, lxpbuaa(桂枝香在故国晚秋) 说得很清楚了 rzTreeView如何实现整行选中?包括图标。 大家帮帮忙 ocx 安装问题,安装上后,没有出现图标! 关于返回指定单元格焦点的问题 关于devexpress控件中的cxlookupcombobox的使用问题 如何检测主板信息? 帮助 谁用过D6中 INdy Clients,Indy Servers,Indy Misc这些栏中的东西?或是大概知道是干什么用的!来说说! 我是初学者,希望各位大哥帮忙,小弟将不吝赠分! windows经常提示非法操作 急!!!怎么打开指定格式的文件? 如何用delphi调用c和vc写的dll? 菜鸟继续提问:
procedure dosomething;virtual;
procedure do ;
end;
tb=class(ta)
procedure dosomething;override;可以在这个过程写代码
end;
procedure ta.do;
begin
dosomething;
end;
procedure dosomething(AOwner:TComponent);virtual;
end;
tb=class(ta)
procedure dosomething;override;
end;
procedure tb.dosomething;
begin
//子类的代码
...
inherited dosomething(AOwner);
end;
procedure A(DataSet: TDataSet);virtual;
end; T2 = class(T1)
procedure A(DataSet: TDataSet);override;
end;var
Form1: TForm1;implementation{$R *.dfm}{ T1 }procedure T1.A(DataSet: TDataSet);
begin
if DataSet <> nil then
begin
ShowMessage( DataSet.Name);
end;
end;procedure T2.A(DataSet: TDataSet);
begin
inherited;
//完整的写法是: inherited A(DataSet);
end;procedure TForm1.Button1Click(Sender: TObject);
var
t: T2;
begin
t := t2.Create;
t.A(table1);
t.Free;
end;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————