B blackbeam Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-23 #1 我加了virtual等关键字,但是无法调用到我写的新的构造函数?应该怎么写?
左 左右手 Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-23 #2 用overrite 声明: public constructor Create(AOwner: TComponent) override; 实现: constructor TYouClass.Create(AOwner: TComponent); begin inherited Create; //然后写你的代码 end;
用overrite 声明: public constructor Create(AOwner: TComponent) override; 实现: constructor TYouClass.Create(AOwner: TComponent); begin inherited Create; //然后写你的代码 end;
L lujr Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-23 #3 constructor Create(AOwner: TComponent);override;
B blackbeam Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-23 #4 可能是我没说清楚,我需要传递非TComponent类型的参数,可能需要传递TObject类型的, 这样就需要多个构造函数。
B blue_morning Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-23 #5 override是覆盖原来的Create方法 如果需要重载使用overload关键字 //构造为正常窗体 constructor Create(AOwner: TComponent) overload override; //构造为子窗体 constructor Create(AOwner: TComponent AParent: TWinControl); reintroduce overload; .
override是覆盖原来的Create方法 如果需要重载使用overload关键字 //构造为正常窗体 constructor Create(AOwner: TComponent) overload override; //构造为子窗体 constructor Create(AOwner: TComponent AParent: TWinControl); reintroduce overload; .
Z zxtko Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-23 #6 TForm类的构造函数是用virtual修饰过的,是虚的所以可以用覆盖的Create函数重载。 TForm1.Create();virtual; begin ... end;
B blue girl Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-25 #7 同意Blue_Morning 的做法,Delphi的Object Pascal Guilder上就有告訴 你這樣寫