Ereignisparameter "Sender" Typ ändern
-
Hallo,
ich lasse in einem Form mehrere TComboBox(en) generieren. Diese sollen alle eine OnChange-Methode bekommen. Das ist an sich nicht schwer. Mein Problem ist nun allerdings, dass der Parameter Sender vom Typ TObject ist und ich so Eigenschaften wie Text oder ItemIndex nicht auslesen kann.
Das allerdings würde mir das sehr vereinfachen. Gibt es eine Möglichkeit das zu ändern? So weit ich weiß, wird das gesamte TComboBox Objekt als Sender übergeben.
-
Stichwort dynamic_cast
mfg
xXx
-
-=]xXx[=- schrieb:
Stichwort dynamic_cast
mfg
xXxÄhm ja cool ich bin beeindruckt. Danke für die schnelle Hilfe – genau so geht das.
Kurze Überlegung meinerseits: Ich könnte mir also auch eine Klasse TComboCustomBox implementieren, die von TComboBox abgeleitet wird und das geht genau so?!
-
Hallo
ja das geht auch dann. Solange du in der Eventfunktionen nur Elemente von der Basisklasse TComboBox brauchst und nicht noch zusätzlich von TComboCustomBox, dann kannst du für beide Control auch die gleiche Eventfunktion benutzen.
Wenn du dir sicher bist, das die Eventfunktion auch nur von TComboBox ausgerufen wird, dann kannst du statt dynamic_cast auch gleich static_cast nehmen. Ansonsten solltest du das Ergebnis von dynamic_cast auch noch auf NULL testen.
bis bald
akari