Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - ClassParent in TComponent casten um FindComponent anzuwenden


inriz - Do 26.04.07 17:39
Titel: ClassParent in TComponent casten um FindComponent anzuwenden
hallo,

ich versuche über die Variable ClassParent an deren Komponenten dran zu kommen.
Folgender Versuch

Delphi-Quelltext
1:
2:
3:
with ClassParent as TComponent do begin
  fQuery := (FindComponent(QueryName) as TQuery);
end;


Er spuckt die Fehlermeldung "Operator ist auf diesen Operandentyp nicht anwendbar" aus.

Gehe ich falsch vor?
Stimmen alles Casts?

vielen Dank


Marco D. - Mi 02.05.07 17:02

Versuche es mal mit Klammern:

Delphi-Quelltext
1:
2:
3:
with (ClassParent as TComponent) do begin
  fQuery := (FindComponent(QueryName) as TQuery);
end;

Oder so:

Delphi-Quelltext
1:
2:
3:
with TComponent(ClassParent) do begin
  fQuery := (FindComponent(QueryName) as TQuery);
end;


Ralf Jansen - Mi 02.05.07 19:21

ClassParent gibt dir einen Klassentyp darauf kann man den as Operator nicht anwenden.

Ich vermute du hast ClassParent mißverstanden.
Du kannst direkt an jedem Nachfahr von TComponent FindComponent aufrufen brauchst ClassParent also auch gar nicht.

Ansonsten erklär nochmal wofür du das brauchst, vielleicht kann man die dann besser helfen.

Gruß


inriz - Fr 04.05.07 14:27

hallo,

ich war auf der flaschen fährte obwohl ClassParent anmuten lässt, auf den vorfahren zuzugreifen.
nichts desto trotz ist ClassParent falsch wie eben schon erwähntest, es ist viel mehr die variable owner.
mit diesem kann ich ohne probleme auf die findcomponent funktion zugreifen.

vielen dank für eure hilfe

gruß