![]() |
Ereignis dynamisch zuweisen
Hallo zusammen,
ich weiß, diese Thema ist des öfteren hier breitgetreten worden, aber ich finde einfach den Fehler bei mir nicht: Ich möchte zwei Timer dynamishc erzeugen. Ich besitze keine Formulare! diesen Timern sollen das das OnTimer-Event zugewiesen werden. Das habe ich folgendermaßen gemacht:
Delphi-Quellcode:
Beim Zuweisen sagt er mir Inkompatible Typen: TNotifyEvent und Procedure
type
TmyTimer = class procedure OnTimer(Sender: TObject); end; var Timer1 : TTimer; Timer2 : TTimer; _myTimer : TmyTimer; ... procedure MeineFunktion(Sender: TObject); begin ... Timer1.OnTimer := _myTimer.OnTimer(Sender); Timer2.OnTimer := _myTimer.OnTimer(Sender); ... end; ... initialization Timer1 := TTimer.Create(nil); Timer2 := TTimer.Create(nil); finalization Timer1.Free; Timer2.Free; Hoffe ihr könnt mir helfen. Gruß, Moony |
Re: Ereignis dynamisch zuweisen
Hi,
Delphi-Quellcode:
Und OnTimer ist ein Event und existiert in TTimer schon.
initialization
Timer1 := TTimer.Create(nil); Timer1.OnTimer := MeineFunktion; Timer2 := TTimer.Create(nil); Timer2.OnTimer := MeineFunktion; Du solltest es also nicht neu deklarieren in TMyTimer (den brauchst du ja auch nicht). Und die Zuweisung in MeineFunktion muss natürlich weg. Dort ist nur das drin, was beim Auslösen des Events erfolgen soll. [EDIT]Quatsch, das geht so nicht, Moment...[/EDIT] Frank |
Re: Ereignis dynamisch zuweisen
Zitat:
Lass mal das (Sender) bei der Zuweisung weg, denn wenn du einen Parameter mitgibst, rufst du die Methode auf, du möchtest sie ja nur zuweisen:
Delphi-Quellcode:
Gruß
Timer1.OnTimer := _myTimer.OnTimer;
Timer2.OnTimer := _myTimer.OnTimer; |
Re: Ereignis dynamisch zuweisen
Danke, genau so gehts.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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