AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Timer eigene Prozedur als Event zuweisen
Thema durchsuchen
Ansicht
Themen-Optionen

Timer eigene Prozedur als Event zuweisen

Ein Thema von ManuMF · begonnen am 11. Mai 2007 · letzter Beitrag vom 11. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#1

Timer eigene Prozedur als Event zuweisen

  Alt 11. Mai 2007, 20:23
Hallo,

ich habe einen Timer erstellt und möchte ihm nun eine Prozedur
procedure EndeSenden(Sender: TObject); als Timer-Event zuweisen. An der Stelle
EndeSender.onTimer := EndeSenden; komm ich aber wegen inkompatiblen Typen 'Methodenzeiger und reguläre Prozedur' nicht weiter. Wie muss das richtig lauten?

Danke,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Timer eigene Prozedur als Event zuweisen

  Alt 11. Mai 2007, 20:24
Event-Properties erwarten Methoden und keine Prozeduren.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#3

Re: Timer eigene Prozedur als Event zuweisen

  Alt 11. Mai 2007, 20:26
wie hilft mir das weiter?
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Timer eigene Prozedur als Event zuweisen

  Alt 11. Mai 2007, 20:27
procedure <Klasse>.EndeSenden(Sender: TObject);
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#5

Re: Timer eigene Prozedur als Event zuweisen

  Alt 11. Mai 2007, 20:35
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;
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Timer eigene Prozedur als Event zuweisen

  Alt 11. Mai 2007, 20:39
Jede beliebige. es muß halt nur eine Methode sein, z.B. auch eine Formularklasse.
Markus Kinzler
  Mit Zitat antworten Zitat
DelphiProgrammierer

Registriert seit: 11. Apr 2007
67 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Timer eigene Prozedur als Event zuweisen

  Alt 11. Mai 2007, 20:57
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 von ManuMF:
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;
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#8

Re: Timer eigene Prozedur als Event zuweisen

  Alt 11. Mai 2007, 20:59
Da liegt das Problem. Ich habe kein Formular zur Verfügung und verwende auch sonst keine selbst erzeugte Klasse.
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Timer eigene Prozedur als Event zuweisen

  Alt 11. Mai 2007, 21:00
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?
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#10

Re: Timer eigene Prozedur als Event zuweisen

  Alt 11. Mai 2007, 21:04
Zitat von Apollonius:
ohne instanziierte Klasse keine Methode.
OK, dann schau ich mal, ob ich es so mache. Habe nämlich gerade etwas gefunden, was den Timer eventuell überflüssig macht.
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz