![]() |
Dynamisch erstellte Komponenten ansprechen
Hallo!
In meiner Anwendung soll man beliebig viele Timages auf einem MDIChild erstellen können. Wenn man auf diese Timages klickt soll ein OnClick Ereignis ausgelöst werden, dass auf das Timage bezogen ist, was es auslöst. Da ich im Vorfeld nicht weiss wieviele Timages der Anwender erstellt, kann ich die Onclick Prozeduren nicht für jedes Timage schreiben. Sie müssen sich also alle eine Prozedur teilen. Mein Problem ist nun: Wie finde ich raus, welches Timage das Onclick Ereignis ausgelöst hat? Der Sender wird ja nur als TObject deklariert. Jemand ne Idee bzw. ne Alternative? |
Re: Dynamisch erstellte Komponenten ansprechen
Hi,
Nein alternativen hab ich nicht aber einen Vorschlag:
Delphi-Quellcode:
Ich persönlich benutze gerne die unsanfte Methode :mrgreen:
(Sender as TImage) // sanft
// ODER TImage(Sender) // unsanft Gruß Neutral General |
Re: Dynamisch erstellte Komponenten ansprechen
Aha...das hilft mir weiter! Danke für die ultraschnelle Antwort! :-D
|
AW: Re: Dynamisch erstellte Komponenten ansprechen
Entschuldigung bitte, wenn ich diese sehr alte Diskussion wieder aufwärme!
Zitat:
|
AW: Dynamisch erstellte Komponenten ansprechen
"(Sender as TImage)" prüft, ob der Typ passt und gibt andernfalls einen Fehlerhinweis aus.
"TImage(Sender)" castet ohne Prüfung was zu unvorhergesehehenen Problemen führen kann (z.B. wenn Sender ein Panel ist). Wenn sicher gestellt ist, dass der Typ passt, kommt es aber auf´s selbe raus (allerdings ist die zweite Variante geringfügig schneller). |
AW: Dynamisch erstellte Komponenten ansprechen
Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:41 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-2025 by Thomas Breitkreuz