Einzelnen Beitrag anzeigen

Andreas L.
(Gast)

n/a Beiträge
 
#1

Ungültige Typenumwandlung bei TComponentNAME

  Alt 19. Aug 2006, 12:03
Hi,
ich bastel mir gerade eine Listbox um die verschiedenen Sprachen die das Programm anwenden kann darzustellen. Dabei soll ein klick auf ein Panel das selbige markieren. Da die Panels zur Laufzeit erstellt werden weiße ich diesen ein OnClick-Event zu. Dieses sieht wie folgt aus:
Delphi-Quellcode:
procedure Tfrmwelcome.SelectLanguageClick(Sender: TObject);
begin
 if selected > 'then
  begin
   (frmwelcome.frmLanguages.FindComponent('pnl'+selected) as TPanel).Color:=clWhite;
   Selected:=(Sender as TPanel).Name; //Fehler
   (Sender as TPanel).color:=clActiveCaption;
  end
 else
  begin
   Selected:=(Sender as TPanel).Name; //Fehler
   (Sender as TPanel).color:=clActiveCaption;
  end;
end;
Selected ist eine globale Variable vom Typ String. Egal ob ich diese Routine ausführe wenn schon was in Selected drin ist oder nicht, schmiert die procedure an den markierten Stellen ab. Es kommt eine Exception mit der Meldung: "Ungültige Typenumwandlung". Kann es sein das Sender: TObject gar nicht von selbst übergeben wird? Oder was stimmt nicht? TComponentName = String, oder?
  Mit Zitat antworten Zitat