You can remove TTimer, set the TTimer.Interval value you want (1000 = 1sec), and then do something like this in the TActionList:
procedure TfrmMain.ActionList1Execute(Action: TBasicAction; var Handled: Boolean);
begin
if Timer1.Enabled then
begin
Handled := True;
Exit;
end;
Handled := false;
Timer1.Enabled := true;
end;
Also remember to disable the timer in Timer.OnTimer .
source
share