AGB  ·  Datenschutz  ·  Impressum  







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

Self oder Sender?

Ein Thema von Pseudemys Nelsoni · begonnen am 12. Mär 2005 · letzter Beitrag vom 12. Mär 2005
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Self oder Sender?

  Alt 12. Mär 2005, 02:40
Moin,

nur eine kurze Frage, wenn ich eine Prozedur aufrufe die einen "Sender" verlangt, sende ich dann "self" oder "Sender"(sofern die Prozedur die die andere Prozdedur aufruft selbst einen Paramater "Sender besitzt) ?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#2

Re: Self oder Sender?

  Alt 12. Mär 2005, 02:52
Kommt drauf an. 'Reichst' Du ein Event 'nur durch', also ist das aufrufende Objekt in dem Falle nicht direkt selber der Sender des Events, dann übergibst Du den 'Sender' (sofern vorhanden, sonst self oder nil). In jedem anderen Fall (Dein Objekt löst das Event bewußt selber aus) übergibst Du 'self'.

Es kann passieren, das ein Event mit dem 'Sender' der übergeben wird irgendwas anstellt. z.B. kann ein Event bei einem Buttonklick den (Sender as TWincontrol).Enabled auf false setzen, damit das Event nicht zweimal ausgelöst wird. Demnach musst Du halt nachgucken, was als Sender in der Funktion überhaupt verlangt wird.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#3

Re: Self oder Sender?

  Alt 12. Mär 2005, 02:54
Wenn du in der Ereignis-Prozedur den Sender nicht selbst verarbeitest, ist es eigentlich egal, dann kannst du auch nil angeben, im Zweifel würde ich die Komponente verwenden zu der das Ereignis primär gehört, also z.B.:
Button1Click(Button1); oder beim Form
OnClick(self); oder wie Phoenix eben sagt, den Sender 'durchreichen'.
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:57 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