![]() |
Ansprechen eines zur Laufzeit erstellten BitBtn
Hi,
ich habe einige BitBtn zu Laufzeit erstellt. Alle befinden sich in einer ComponentList. Darüber kann ich jeden BitBtn mit TBitBtn(BitBtnList[i]) ansprechen. Jedoch weiß ich nicht wie ich den BitBtn jetzt ein OnClick Ereignis zuordnen soll.
Delphi-Quellcode:
funktioniert ja nicht.
procedure TBitBtn(BitBtnList[i])Click
|
Re: Ansprechen eines zur Laufzeit erstellten BitBtn
Delphi-Quellcode:
(BitBtnList[i] as TBitBtn).OnClick := MeineOnClickMethode;
|
Re: Ansprechen eines zur Laufzeit erstellten BitBtn
vielen Dank
|
Re: Ansprechen eines zur Laufzeit erstellten BitBtn
Zitat:
Delphi-Quellcode:
MyTListInstance ist eine TList, TMyType ist der Typ der Objekte die da drinstecken und MyField ist ein Field eines solchen Objektes. Wieso geht das nicht? (Verständnisfrage, brachiales Typecasting ohne as geht...)
if (MyTListInstance[i] as TMyType).MyField >0 then DoSomething;
|
Re: Ansprechen eines zur Laufzeit erstellten BitBtn
Hi OldGrumpy,
eine TList ist eine Liste von Pointern, die haben keinen Typ, aber man kann einen typecast machen. Mit TObjectList geht das so wie du vor hast. |
Re: Ansprechen eines zur Laufzeit erstellten BitBtn
Dann funktioniert as also nur in der Richtung Object A als Object B zu betrachten, nicht aber im Sinne eines "sicheren" Typecastings. Das macht ja auf den zweiten Blick auch Sinn :)
Nachtrag: Jep, mit einem Typecast auf TObject als Zwischenschritt funktioniert es wie es sollte. Resultierender Tipp: Wann immer es geht, typisierte Listen verwenden :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 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 by Thomas Breitkreuz