我第一次编写一个最简单的非可视化控件,能注册到控件板上。我新建一个工程,在主窗体上放这个控件时,就跳出错误“Stack overflow--save you work and restart Delphi”。
全部代码如下:
unit Componentcxz;interfaceuses
Windows, Messages, SysUtils, Classes;type
TComponentcxz = class(TComponent)
private
{ Private declarations }
Fn:Integer;
function Getn: Integer;
procedure setn(const Value: Integer);
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent);override;
destructor Destroy; override; published
{ Published declarations }
property n: Integer read Getn write setn;
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('Samples', [TComponentcxz]);
end;{ TComponentcxz }constructor TComponentcxz.Create(AOwner: TComponent);
begin
inherited;
Fn:=234;
end;destructor TComponentcxz.Destroy;
begin inherited;
end;function TComponentcxz.Getn: Integer;
begin
result:=n
end;
procedure TComponentcxz.setn(const Value: Integer);
begin
n:= Value
end;end.
请高手指教
全部代码如下:
unit Componentcxz;interfaceuses
Windows, Messages, SysUtils, Classes;type
TComponentcxz = class(TComponent)
private
{ Private declarations }
Fn:Integer;
function Getn: Integer;
procedure setn(const Value: Integer);
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent);override;
destructor Destroy; override; published
{ Published declarations }
property n: Integer read Getn write setn;
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('Samples', [TComponentcxz]);
end;{ TComponentcxz }constructor TComponentcxz.Create(AOwner: TComponent);
begin
inherited;
Fn:=234;
end;destructor TComponentcxz.Destroy;
begin inherited;
end;function TComponentcxz.Getn: Integer;
begin
result:=n
end;
procedure TComponentcxz.setn(const Value: Integer);
begin
n:= Value
end;end.
请高手指教
procedure setn(const Value: Integer
这两个应该在public下面吧
unit Componentcxz;interfaceuses
Windows, Messages, SysUtils, Classes;type
TComponentcxz = class(TComponent)
private
{ Private declarations }
Fn:Integer; protected
{ Protected declarations }
function Getn: Integer;
procedure setn(Valu: Integer);
public
{ Public declarations }
constructor Create(AOwner: TComponent);override; published
{ Published declarations }
property n: Integer read Getn write setn;
end;procedure Register;implementationprocedure Register;
begin
RegisterComponents('Samples', [TComponentcxz]);
end;{ TComponentcxz }constructor TComponentcxz.Create(AOwner: TComponent);
begin
inherited;
Fn:=234;
end;function TComponentcxz.Getn: Integer;
begin
result:=Fn;
end;
procedure TComponentcxz.setn(Valu: Integer);
begin
Fn:= Valu;
end;end.