简单问题,向各位专家请教!在线等
小弟刚接触delphi不久,现想编制组件,但看了书上的一段示例代码后,有些地方不太明白,请各位赐教!谢谢!
……
type
TTimeEvent = procedure (times:integer) of object;
TMyTimer = class(TComponent)
private
FTimer:TTimer;
FOnTimer:TTimeEvent;
FTimes:integer;
procedure FOnTime(Sender:Tobject);
protected
public
constructor create(AOwner:TComponent);override;
destructor destroy;override;
procedure start;
published
property OnSecond :TTimeEvent read FOnTimer write FOnTimer;
end;
constructor TMyTimer.create(AOwner:TComponent);
begin
inherited;
if not (csdesigining in ComponentState) then
begin
FTimer := TTimer.create(nil);
Ftime.interval := 1000;
Ftimer.OnTimer:= FOnTimer;
end;
end;
destructor TMytimer.destroy;
begin
FTimer.free;
inherited;
end;
procedure TMytimer.FOnTimer(Sender:Tobject);
begin
inc(FTimers);
if assigned(OnSecond) then
OnSecond(FTimes);
end;
procedure TMytimer.Start;
being
FTimes:=0;
FTimer.enable := true;
end;
我的问题是在delphi中是怎样把自定义事件关联起来的?可能我的理解有误,上述代码中FOnTime(Sender:Tobject)定义的是什么?应该怎样理解TTimerEvent?为什么会有OnSecond(FTimes);这名代码出现?应怎样理解?对不起,小弟刚学delphi,不太熟悉,但有个活特急,分不多,见谅!!