首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

问一下关于继承的三个有关问题

2012-06-07 
问一下关于继承的三个问题1、如何将不是继承的窗口改成继承的?最近在改一个老程序,要在每个窗口都加一个相

问一下关于继承的三个问题
1、如何将不是继承的窗口改成继承的?
  最近在改一个老程序,要在每个窗口都加一个相同的功能。如果每个窗口都继承于一个基窗口,那只要改基窗口就可以了,但老程序不是这样的,所以我想将老程序改成继承一个基窗口的。
  我写了一个测试程序,新建一个工程,加了两个form:form1和form2,然后,在form2中,改“TForm2 = class(TForm2)”为“TForm2 = class(TForm1)”,在前面的“uses”中,加入引用“unit1”。如果运行,则在Form2中能够显示Form1的内容,但在设计界面不显示Form1的内容。
  请问一下该如何解决???

2、Form2继承于Form1,那在Form2中,用什么代码知道自己是从Form1中继承来的???

3、Form2继承于Form1,Form1有个Button1,里面有代码,在Form2中,Button1也加了一些代码。我想将Button1改名成Button2。
  我在公司测试时,报错,说是Form2中没有Button1。而在家测试时,不报错,但是Button2连接不到原来Button1的Click事件上了。
  请问一下,如何修改才能让Button1改名成Button2后,功能不变。

注明一下,我是用的Delphi 2010。

[解决办法]
从向导中继承吧

Self.ClassParent.ClassName得到父类名称

加上 inherited;才能执行父类的click
[解决办法]
1. 右键窗体,view as text,然后将 Object Form1: TBaseForm 这句的Object改成inherited
2. if form2.InheritsFrom(TForm1) then ...
3. 不能重命名继承自基类的组件。

热点排行