![]() |
Typecast Error by Sender As TWhatever
Hilfe, ich sitz' heut etwas auf der Leitung -
wie kann ich sowas realisieren ohne einen Typecast Error zu kriegen:
Delphi-Quellcode:
if ((Sender as TBitBtn).Name = 'bbPrint') or (Sender as TMenuItem).Name = 'miPrint')) then
begin ... end ; |
Re: Typecast Error by Sender As TWhatever
Der Sender muss auch von diesem Typ sein! Du könntest einen harten Cast machen, dann könnte es aber sein, dass es richtig knallt!
|
Re: Typecast Error by Sender As TWhatever
Zitat:
|
Re: Typecast Error by Sender As TWhatever
Die könntest das "Name"-Feld auch mittels RTTI abfragen (
![]() ![]() ![]() mfG mirage228 |
Re: Typecast Error by Sender As TWhatever
Delphi-Quellcode:
if Sender is <Typ> then ...
|
Re: Typecast Error by Sender As TWhatever
Name ist doch von TComponent abgeleitet.
Also:
Delphi-Quellcode:
var tmp:string;
begin tmp:=(Sender as TComponent).Name; if ((sender is TBitBtn) and (tmp='xyz1'))or ((sender is TBitBtn) and (tmp='xyz2'))or ... then |
Re: Typecast Error by Sender As TWhatever
Zitat:
Ahja, wenn er sich nur für den Namen interessiert, kann man die Abfrage ob das Objekt ein TBitBtn ist auch weglassen :) |
Re: Typecast Error by Sender As TWhatever
Zitat:
|
Re: Typecast Error by Sender As TWhatever
Zitat:
Delphi-Quellcode:
if (Sender = miPrint) or (Sender = btnWhatEver) then ...
|
Re: Typecast Error by Sender As TWhatever
Es ist aber besser den Typ und nicht den Namen der Variablen abzufragen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:44 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