萧
萧月禾
Unregistered / Unconfirmed
GUEST, unregistred user!
比如我有2个窗体单元:
Unit1.pas
TBase = class
public
abc: string;
procedure Show1;
end;
TForm1 = class(TForm)
procedure Button1Click(Sender: TObject);//这里调用Base的show1
procedure FormCreate(Sender: TObject);//这里创建Base对象
public
property Base: TBase ... //定义TBase的对象变量
end;
Unit2.pas
TBase1 = class(TBase) //从Unit1的
public
procedure Show2;
end;
TForm2 = class(TForm1)
procedure Button2Click(Sender: TObject);//这里调用Base的show1
procedure FormCreate(Sender: TObject);//这里创建Base对象,不用inherited
public
property Base: TBase1 ... //重新用TBase1定义Base对象变量
end;
问,如何重载这个Base属性,让它原来在TForm1下的所被调用的命令仍然有效,同时又可以在TForm2中使用TBase1的命令。
不要创建成2个不想干的对象。
Unit1.pas
TBase = class
public
abc: string;
procedure Show1;
end;
TForm1 = class(TForm)
procedure Button1Click(Sender: TObject);//这里调用Base的show1
procedure FormCreate(Sender: TObject);//这里创建Base对象
public
property Base: TBase ... //定义TBase的对象变量
end;
Unit2.pas
TBase1 = class(TBase) //从Unit1的
public
procedure Show2;
end;
TForm2 = class(TForm1)
procedure Button2Click(Sender: TObject);//这里调用Base的show1
procedure FormCreate(Sender: TObject);//这里创建Base对象,不用inherited
public
property Base: TBase1 ... //重新用TBase1定义Base对象变量
end;
问,如何重载这个Base属性,让它原来在TForm1下的所被调用的命令仍然有效,同时又可以在TForm2中使用TBase1的命令。
不要创建成2个不想干的对象。