AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Anonyme Methode als Eventhandler - geht nicht?

Ein Thema von Ralf Kaiser · begonnen am 31. Aug 2010 · letzter Beitrag vom 31. Aug 2010
Antwort Antwort
Seite 1 von 2  1 2      
mkinzler
(Moderator)

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

AW: Anonyme Methode als Eventhandler - geht nicht?

  Alt 31. Aug 2010, 19:01
Eine Prozedur ist halt was anderes als eine Methode
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Anonyme Methode als Eventhandler - geht nicht?

  Alt 31. Aug 2010, 19:09
Eine Prozedur ist halt was anderes als eine Methode
Allerdings lautet der offizielle Name dieses Konstruktes "Anonyme Methode"!
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Anonyme Methode als Eventhandler - geht nicht?

  Alt 31. Aug 2010, 19:16
Wenn das ganze wirklich mit einer Methode ginge wäre es interessant von welchem Typ dann Self wäre.
Das mit dem Namen der fälschlich verwendet wird kenne ich irgendwo her. Früher gab es mal eine IDE namens Delphi in der man Object-Pascal-Code geschrieben hat. Irgendwann hat man dann einen Object-Pascal-Code mehr geschrieben sondern es war Delphi-Code.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.373 Beiträge
 
Delphi 12 Athens
 
#4

AW: Anonyme Methode als Eventhandler - geht nicht?

  Alt 31. Aug 2010, 19:17
Allerdings lautet der offizielle Name dieses Konstruktes "Anonyme Methode"!
Egal wie es heißt.
Eine "Methode" liegt in einer Klasse und ohne Klasse ist es eine Funktion/Prozedur.

Zitat:
[DCC Fehler] Unit9.pas(32): E2009 Inkompatible Typen: 'Methodenzeiger und reguläre Prozedur'
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Anonyme Methode als Eventhandler - geht nicht?

  Alt 31. Aug 2010, 19:20
Was ich dann nicht verstehe ist dann aber, dass so etwas funktioniert.
Ralf Kaiser
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Anonyme Methode als Eventhandler - geht nicht?

  Alt 31. Aug 2010, 19:23
In diesem Fall handelt es sich ja um einen Funktionszeiger und kein Methodenzeiger
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Anonyme Methode als Eventhandler - geht nicht?

  Alt 31. Aug 2010, 19:31
In diesem Fall handelt es sich ja um einen Funktionszeiger und kein Methodenzeiger
Ja. Eben. Bei meinem Versuch wurde mir vom Compiler gesagt, dass ein Methodenzeiger erwartet wurde. Dort wird kein Methodenzeiger benutzt und es compilliert doch. Irgendwie nicht so ganz konsistent...
Ralf Kaiser
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Anonyme Methode als Eventhandler - geht nicht?

  Alt 31. Aug 2010, 19:34
Nein, es ist ja gerade andersrum. Eine Eventproperty ist ein Methodenzeiger und eine anonyme Methode ein Funktionszeiger.
Markus Kinzler
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#9

AW: Anonyme Methode als Eventhandler - geht nicht?

  Alt 31. Aug 2010, 19:25
Das Event ist vom typ "reference to procedure". Nur dann kannst Du diese Event zuweisen bei Klassen.
Lars
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Anonyme Methode als Eventhandler - geht nicht?

  Alt 31. Aug 2010, 19:34
Das Event ist vom typ "reference to procedure". Nur dann kannst Du diese Event zuweisen bei Klassen.
OK. Jetzt hab ich es verstanden (dauert halt manchmal etwas )

Wenn also TNotifyEvent als "reference to procedure(Sender: TObject)" definiert wäre (was es ja nicht ist) dann hätte mein Versuch sich compillieren lassen, oder?
Ralf Kaiser
  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 23:54 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