![]() |
Timer eigene Prozedur als Event zuweisen
Hallo,
ich habe einen Timer erstellt und möchte ihm nun eine Prozedur
Delphi-Quellcode:
als Timer-Event zuweisen. An der Stelle
procedure EndeSenden(Sender: TObject);
Delphi-Quellcode:
komm ich aber wegen inkompatiblen Typen 'Methodenzeiger und reguläre Prozedur' nicht weiter. Wie muss das richtig lauten?
EndeSender.onTimer := EndeSenden;
Danke, ManuMF |
Re: Timer eigene Prozedur als Event zuweisen
Event-Properties erwarten Methoden und keine Prozeduren.
|
Re: Timer eigene Prozedur als Event zuweisen
wie hilft mir das weiter?
|
Re: Timer eigene Prozedur als Event zuweisen
Delphi-Quellcode:
procedure <Klasse>.EndeSenden(Sender: TObject);
|
Re: Timer eigene Prozedur als Event zuweisen
Sorry, aber wenn ich das genau wüsste, würde ich nicht fragen.
Welche Klase kann ich hier verwenden? Falls das nicht klar sein sollte: Es ist ein ganz gewöhnlicher Timer, hier nochmal etwas mehr Code:
Delphi-Quellcode:
var EndeSender: TTimer;
initialization EndeSender := TTimer.Create; with EndeSender do begin ... onTimer := EndeSenden; end; |
Re: Timer eigene Prozedur als Event zuweisen
Jede beliebige. es muß halt nur eine Methode sein, z.B. auch eine Formularklasse.
|
Re: Timer eigene Prozedur als Event zuweisen
Die Prozedur muss eine Methode sein, wie z.B. in folgendem Beispiel:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls,ExtCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } myTimer : TTimer; procedure TimerBenachrichtigung(sender:TObject); public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin myTimer := TTimer.Create(self); myTimer.OnTimer := TimerBenachrichtigung; end; procedure TForm1.TimerBenachrichtigung(sender: TObject); begin { tue irgendwas } end; end. Zitat:
|
Re: Timer eigene Prozedur als Event zuweisen
Da liegt das Problem. Ich habe kein Formular zur Verfügung und verwende auch sonst keine selbst erzeugte Klasse.
|
Re: Timer eigene Prozedur als Event zuweisen
Dann musst du dir eine Klasse erstellen - ohne instanziierte Klasse keine Methode.
edit: An die Spezialisten: Könnte man vielleicht doch eine normale Prozedur schreiben, die als ersten Parameter ein TObject erfordert und den Compiler mit Pointern darüber hinwegtäuschen, dass es gar keine Methode ist? |
Re: Timer eigene Prozedur als Event zuweisen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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-2025 by Thomas Breitkreuz