![]() |
timer zu fuß einbinden
hallo leuts!
ich versuche, einen timer in mein programm einzubinden, möchte ihn aber nicht auf dem formular platzieren. mit
Delphi-Quellcode:
habe ich ihn erzeugt und kann auch ganz toll das intervall einstellen.
timer1:=TTimer.create...
aber ich bekomme ihm einfach zum verrecken keine prozedur zugewiesen! ich hatte schon einen (fast) passenden thread gesichtet, finde ihm aber nicht mehr und außerdem klärte er das problem nicht zu ende. ich bekomme den fehler [Pascal Fehler] UTools.pas(22): E2010 Inkompatible Typen: 'TNotifyEvent' und 'procedure, untyped pointer or untyped parameter' das kann doch nicht so schwer sein! danke schonmal |
Re: timer zu fuß einbinden
So:
Delphi-Quellcode:
type
TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private-Deklarationen } i: Integer; Timer: TTimer; procedure TimerCallback(Sender: TObject); public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin i := 0; Timer := TTimer.Create(Form1); Timer.Interval := 1000; Timer.OnTimer := TimerCallback; end; procedure TForm1.TimerCallback(Sender: TObject); begin Inc(i); Caption := IntToStr(i); end; |
Re: timer zu fuß einbinden
du versuchst eine ganz normale Funktion zu zuweisen. Es muss aber eine Methode von einem Object sein:
so nicht
Delphi-Quellcode:
sondern so
procedure DeineMethode(Sender: TObject);
begin end;
Delphi-Quellcode:
Hintergrund: Bei einer Methode (also eine Procedure welche zu einem Object gehört) wird noch der unsichtbare Self-Paramter mitgegeben. Wenn du nun versuchst das ganze auf eine normale Procedure anzuwenden stimmt die Anzahl der Paramter nicht weil intern folgendes erwartet wird
procedure TKlasse.DeineMethode(Sender: TObject);
begin end;
Delphi-Quellcode:
procedure DeineMethode(Self: TObject; Sender: TObject);
begin end; |
Re: timer zu fuß einbinden
danke schonmal!
@luckie: das ist ja genau das, was ich nicht machen will... der timer soll nicht zum form gehören. ich bilde mir ein, das schonmal versucht zu haben, ohne erfolg... allerdings hatte ich die methode in einer klasse, die ich schon für einen ähnlichen fall gebaut hatte. vielleicht klappt's ja, wenn ich dafür eine eigene nehme... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz