重写Create方法时出现Delphi组件错误00000000
我在Delphi中创建了一个组件,并试图覆盖create方法,如下所示:重写Create方法时出现Delphi组件错误00000000,delphi,Delphi,我在Delphi中创建了一个组件,并试图覆盖create方法,如下所示: unit DefButton; interface uses Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, System.SysUtils, System.Classes, Vcl.Controls, Vcl.Graphics, Vcl.Forms; type TDefButton = class(TPanel) private { Private de
unit DefButton;
interface
uses
Vcl.Dialogs,
Vcl.StdCtrls, Vcl.ExtCtrls,
System.SysUtils, System.Classes, Vcl.Controls, Vcl.Graphics, Vcl.Forms;
type
TDefButton = class(TPanel)
private
{ Private declarations }
protected
constructor Create(AOwner: TComponent); override;
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
constructor TDefButton.Create(AOwner: TComponent);
begin
ShowMessage('test!');
end;
procedure Register;
begin
RegisterComponents('Default Controls', [TDefButton]);
end;
end.
但当我运行时,它会显示消息“test”,但随后它会抛出以下消息:
然后它再次显示消息,然后抛出此消息:
你知道会是什么吗?我试着用谷歌搜索,但找不到这个具体案例的答案…你需要调用
inherited
在构造函数中,因此它调用从祖先类到ToObject构造函数的构造函数链
试试这个:
constructor TDefButton.Create(AOwner: TComponent);
begin
inherited;
ShowMessage('test!');
end;
您需要调用
inherited
在构造函数中,因此它调用从祖先类到ToObject构造函数的构造函数链
试试这个:
constructor TDefButton.Create(AOwner: TComponent);
begin
inherited;
ShowMessage('test!');
end;