Meine Lösung:
Delphi-Quellcode:
procedure X.RunBtnPressCount;
const
PAUSE_IN_MS = 150;
var
StartTime: Cardinal;
begin
while FCountEvent do
begin
StartTime := GetTickCount;
while GetTickCount - StartTime <= PAUSE_IN_MS do
Application.ProcessMessages;
inc(FBtnPressCounter);
Label.caption := inttostr(strtoint(Label.caption)+1);
end;
end;
procedure X.ButtonMouseDown...
begin
FCountEvent := True;
RunBtnPressCount;
end;
procedure X.ButtonMouseUp...
begin
FCountEvent := False;
end;
Schon ist kein (T)Timer notwendig, ma könnte sich ja auch eine Classe daraus basdteln