Einzelnen Beitrag anzeigen

Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Problem beim finden dynamischer Menüeinträge

  Alt 26. Okt 2004, 09:17
Zitat von roderich:
dir fehlt ein Type-cast

  (Feldnamenzuordnen1.FindComponent('Adress_' + IntToStr(i)) as TMenuItem).checked := true; generell wäre man aber vor dem Type-cast auf der sicheren Seite mit der Abfrage
Delphi-Quellcode:
  if (Feldnamenzuordnen1.FindComponent('Adress_' + IntToStr(i)) is TMenuItem) then
     ...
Jupp,

aber der AS-Operator führt intern bereits ein IS aus (und löst ggf. ein EInvalidCast aus), soweit ich weiss.
Daher sollte man. wenn man schon mit IS prüft, dann auch direkt type-casten, also so (ich würde mir dann das doppelte findcomponent sparen):
Delphi-Quellcode:
var
  Comp: TComponent;
begin
  Comp := Feldnamenzuordnen1.FindComponent('Adress_' + IntToStr(i));
  if (Comp is TMenuItem) then
    TMenuItem(Comp).Checked := True;
end;
mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat