Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Senderabfrage nach Objekten


eniac - Fr 11.02.05 19:55
Titel: Senderabfrage nach Objekten
Tach,


Ich hab eine einfache Methode geschrieben. Ungefähr so:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.ButtonClick(Sender: TObject);
begin
  if Sender=Button1 then begin
    //...
  end;
  if Sender=Button1 then begin
    //...
  end;
  //...
end;

Ich will allerdings auch zwischen Sendern unterschieldicher Objekte (z.B. TButton) unterscheiden und nicht nur zwischen konkrteten Komponenten (z.B. Button1, Button2 usw.). Wie geht das?
Ich erinnere mich, dass das irgendwie mit "if Sender in ..." gehen soll, aber ich habs vergessen :(

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.


AXMD - Fr 11.02.05 20:04

Hi :)!

Bitte ändere deinen Titel deines Beitrags so, dass er den Richtlinien entspricht.

Richtlinien hat folgendes geschrieben:
1.2 Beiträge
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist. [..]


Danke
AXMD

PS.: Zum Thema: Versuch mal Sender.InheritesFrom


eniac - Fr 11.02.05 20:09

AXMD hat folgendes geschrieben:

Bitte ändere deinen Titel deines Beitrags so, dass er den Richtlinien entspricht.


...würde ich gerne machen, wenn ich wüsste wie das geht :?


AXMD - Fr 11.02.05 20:10

Den EDIT-Button oben verwenden. Danke :)

AXMD


eniac - Fr 11.02.05 20:42

...ich hab selbst eine mögliche Lösung in der Delphi-Hilfe gefunden :lol: :

Hier ein Beispiel in abgekürzter Version:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
//...
with Sender as TButton do
begin
 Caption := '&Ok';
end;
//...


Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.


AXMD - Fr 11.02.05 20:43

Darf ich fragen, was dieser Code mit deiner ursprünglichen Fragestellung zu tun hat. TObject.InheritesFrom würde meiner Meinung nach besser passen, aber wenn du meinst...

AXMD


ossix - So 13.02.05 01:46

wie wärs mit

Delphi-Quelltext
1:
2:
if sender is tbutton then
  blabla;

?
bzw. wo liegen die nachteile dabei?


eniac - So 13.02.05 16:03

@ossix: Stimmt, genau das hab' ich gesucht :)
Ich hab' die ganze Zeit irgendwie an


Delphi-Quelltext
1:
2:
//...
if Sender in TButton then //...


gedacht.

Nur wegen diesem einem Buchstaben (statt 'n' 's') hat das nicht gefunzt :evil:

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.