Hi,
also wenn ich das richtig verstanden hatte, dann hat diese Hilfsklasse (ich nenn sie jetzt mal 'TMyTimerHelpClass') doch überhaupt nur die eine Funktion, deinem Timer als anspringbare Routine eine Methode anzubieten. Absolut nichts anderes sollte diese Klasse daher auch beinhalten, als nur eben diese Methode ...in der du dann also auch immer den Code eintragen solltest, den du mittels des Timers intervallmäßig aufgerufen haben möchtest. Der Timer selbst steht dann aber wieder ganz normal außerhalb dieser Klasse.
Ich habe das Ganze also kurz mal in diesem Sinne so umgebaut:
Code:
unit Unit2;
interface
uses ExtCtrls, SysUtils;
type
TMyTimerHelpClass = class(TObject)
public
procedure MyTimerSub(Sender : TObject);
end;
var
ATimerSub : TMyTimerHelpClass;
ATimer : TTimer;
implementation
uses unit1;
procedure TMyTimerHelpClass.MyTimerSub(Sender : TObject);
begin
form1.Caption := TimeToStr(now);
end;
end.
Sowohl den Timer (ATimer) als auch (erstmal nur) eine Instanz von 'TMyTimerClass' (ATimerSub) kannst du dann einfach im FormCreate-Eventhandler von Form1 erzeugen, etwa so:
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
ATimerSub := TMyTimerHelpClass.Create;
ATimer := TTimer.Create(nil);
ATimer.Interval := 1000;
ATimer.Enabled := True;
ATimer.OnTimer := ATimerSub.MyTimerSub;
end;
Dann müsste es eigentlich funktionieren (bei mir jedenfalls gings).