AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi welche Informationen schickt eigentlich (Sender: TObject)
Thema durchsuchen
Ansicht
Themen-Optionen

welche Informationen schickt eigentlich (Sender: TObject)

Ein Thema von Tau · begonnen am 5. Okt 2005 · letzter Beitrag vom 24. Apr 2006
Antwort Antwort
Seite 1 von 3  1 23      
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#1

welche Informationen schickt eigentlich (Sender: TObject)

  Alt 5. Okt 2005, 21:54
Hallo Leute

Hätte da ein bar fragen zu (Sender: TObject)

wie kann ich feststellen welche Informationen von Sender an das onChange Ereignis weitergegeben werden?
Oder besser noch von welcher Komponente sind die informationen.

Kann man vielleicht auch eine Liste in ein Memo schreiben?


Schöne Grüsse
Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: welche Informationen schickt eigentlich (Sender: TObject

  Alt 5. Okt 2005, 22:13
In Sender wird dir eine Referenz auf das auslösende Objekt übergeben. Wenn also ein Button1 eine OnClick-Routine auslöst, so ist Sender vom Typ TButton und du kannst auf ihn zugreifen. Das ist praktisch wenn mehrere Komponenten ein und die selbe Ereignisbehandlungsprozedur erhalten. Du kannst dadurch also ermitteln wer genau das Ereignis ausgelöst hat, und auch gleich mit dem Objekt interagieren.
Es ist deswegen vom Typ TObject, da TObject Vorfahre aller Komponenten ist. Somit kann dort jeglicher Typ drin übergeben werden ohne die OOP zu treten. Bevor du jedoch die Methoden von z.B. TButton verwenden kannst, musst du casten.
Delphi-Quellcode:
procedure OnClick(Sender: TObject);
begin
  (Sender as TButton).Caption := 'Ich bin geklicked';
end;
Sollte Sender hier kein TButton sein gibt's eine Exception. Daher lässt sich das über den is-Operator auch im Vorfeld abprüfen.


Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#3

Re: welche Informationen schickt eigentlich (Sender: TObject

  Alt 5. Okt 2005, 22:16
Sender ist vom Typ Tobject (Steht ja auch schon da ) und beinhaltet das Objekt, von dem aus die Methode aufgerufen wird. Also in einer OnClick-Prozedur eines Buttons ist es der gedrückte Button. So kannst du zB eine Methode mehreren Komponenten zuordnen und per Typenüberprüfung trotzdem alles richtig zuordnen.
Zitat:
Kann man vielleicht auch eine Liste in ein Memo schreiben?
Die Frage versteh ich jetzt irgendwie nich...

//Edit:
Ich sollte öftes vor dem Abschicken mal unten im Fenster nachschauen
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von Grishnak
Grishnak

Registriert seit: 15. Sep 2005
Ort: Neu-Ulm
111 Beiträge
 
RAD-Studio 2009 Arc
 
#4

Re: welche Informationen schickt eigentlich (Sender: TObject

  Alt 5. Okt 2005, 22:18
'OnChange' ist ein TNotifyEvent und folgendermaßen deklariert:
Delphi-Quellcode:
type
  TNotifyEvent = procedure(Sender: TObject) of object;
Das einzige was du bekommst, ist das auslösende Objekt.

Zitat von Tau:
Kann man vielleicht auch eine Liste in ein Memo schreiben?
Was meinst du damit? Wenn du ein TStringList-Objekt hast, dann kannst du dessen Inhalt (die Strings) mittels
Memo1.Text:=StringList1.Text; in ein TMemo-Objekt kopieren.
Mach' etwas idiotensicher und irgendjemand erfindet einen besseren Idioten!
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: welche Informationen schickt eigentlich (Sender: TObject

  Alt 5. Okt 2005, 22:28
Hi

Zitat:
Das einzige was du bekommst, ist das auslösende Objekt.
ich möcht wissen welcher Komponenten Type (TButton, TAction usw.) hat es ausgelöst.

An diese Informationen möchte ich rankommen.


Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von Grishnak
Grishnak

Registriert seit: 15. Sep 2005
Ort: Neu-Ulm
111 Beiträge
 
RAD-Studio 2009 Arc
 
#6

Re: welche Informationen schickt eigentlich (Sender: TObject

  Alt 5. Okt 2005, 22:32
per "Sender.ClassName" (String) oder "Sender.ClassType" (TClass)!
Mach' etwas idiotensicher und irgendjemand erfindet einen besseren Idioten!
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: welche Informationen schickt eigentlich (Sender: TObject

  Alt 5. Okt 2005, 22:50
Hi


D A N K E ! ! !

der tipp mit "Sender.ClassName" war genau das was ich gesucht hatte.




Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von ArmyMan
ArmyMan

Registriert seit: 25. Mai 2004
Ort: Wil Sg
193 Beiträge
 
#8

Re: welche Informationen schickt eigentlich (Sender: TObject

  Alt 24. Apr 2006, 11:50
Hallo allerseits

Hab noch eine kleine Frage zu dem Sender : TObject.
Kann man im Sender ausfinden von welchem Event aus diese Procedure aufgerufen wurde?

z.B. wenn man in einem TEdit in dem OnChange und in dem OnExit die gleiche Procedure aufruft, kann man in der aufgerufenen Procedure rausfinden ob diese von OnChange oder von OnExit aufgerufen wurde??

Thx & Greetz
ArmyMan
Reden ist Schweigen, Silber ist Gold!
Der Soldat friert nicht. Er zittert nur vor Wut, weil es so kalt ist.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: welche Informationen schickt eigentlich (Sender: TObject

  Alt 24. Apr 2006, 11:53
TEdit(Sender) ist dein TEdit

du kannst es genauso wie die Variable verwenden ... z.B. TEdit(Sender).Text

aber ob's nun von OnChange, oder OnExit kommt kannst du meines Wissens nicht rausbekommen.


[add]
ach ja, viele verwenden stadt TEdit(Sender) lieber (Sender as TEdit) es kommt aber etwa auf's selbe raus
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von ArmyMan
ArmyMan

Registriert seit: 25. Mai 2004
Ort: Wil Sg
193 Beiträge
 
#10

Re: welche Informationen schickt eigentlich (Sender: TObject

  Alt 24. Apr 2006, 11:57
Gibt es irgend ein "work around" um doch rauszubekommen woher es kommt?

Greetz
ArmyMan
Reden ist Schweigen, Silber ist Gold!
Der Soldat friert nicht. Er zittert nur vor Wut, weil es so kalt ist.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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:04 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