![]() |
Re: TTimer.OnTimer ersetzen
Zitat:
|
Re: TTimer.OnTimer ersetzen
Natürlich muss sie Public oder Published sein, schliesslich woll ihr sie doch von ausserhalb der Klasse zuweisen - und dort sind nunmal nur öffentliche und veröffentlichte Methoden sichtbar. Ansonsten könnt ihr die Methode auch Private oder Protected deklarieren, dann müsst ihr sie nur halt innerhalb der Klasse zuweisen.
Nehmt doch eine statische Methode, dann könnt ihr euch das Instanz erstellen auch sparen...
Delphi-Quellcode:
Und vor allem spart ihr euch dies rumgematsche und gefake mit den "ich mache mir eine Procedure und tarne sie als Methode".
Type
TStaticHelper = Class Public Class Procedure MyOnTimer(Sender: TObject); End; ... Procedure TStaticHelper.MyOnTimer(Sender: TObject); Begin ShowMessage('Schon da'); End; Begin Timer.OnTimer := TStaticHelper.MyOnTimer; End. /EDIT: *Argh* Da nölt man rum und macht es selber nicht mal richtig... :wall: :wall: |
Re: TTimer.OnTimer ersetzen
Thomas, du hast das class vergessen:
Delphi-Quellcode:
Gruß Hawkeye
Type
TStaticHelper = Class Public class Procedure MyOnTimer(Sender: TObject); // <-- hier class End; ... class Procedure TStaticHelper.MyOnTimer(Sender: TObject); // <-- hier class Begin ShowMessage('Schon da'); End; Begin Timer.OnTimer := TStaticHelper.MyOnTimer; End. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:23 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