Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Usar Nombre Componente en variable (https://www.clubdelphi.com/foros/showthread.php?t=55062)

camino 07-04-2008 15:18:10

Usar Nombre Componente en variable
 
Hola amigos
Desearia que me ayudaran a completar una parte del problema.
Con La Funcion FindControl dejo en un Edit el nombre de un Objeto.
(RichEdit).
Hasta aqui todo bien, pero cuando quiero manejar las propiedades del objeto mecionandolo por la variable, no resulta.
Ej:
MiObjeto : TObjectName;
Edit1.Text:=FindControl(windowfrompoint( Cur )).Name;
MiObjeto := Edit1.Text;
MiObjeto.Color := clRed;


Edit1.Text contiene "RichEdit1"

xEsk 07-04-2008 16:08:42

Debes realizar un casting.

Código Delphi [-]
MiObjeto : TObject;

Edit1.Text:=FindControl(windowfrompoint(Cur)).Name; // buscas el control bajo el mouse (imagino)
MiObjeto := FindComponent(Edit1.Text); // buscamos este componente en el formulario (usando su propiedad Name)
TRichEdit(MiObjeto).Color := clRed; // realizamos un casting, para convertir el TObjeto en un TRichEdit

Aqui tienes un poco de información acerca de los castings en Delphi.

Saludos

P.D.: Se puede realizar de otras formas, pero lo he hecho siguiendo tu planteamiento, para que se entienda mejor donde estan los fallos

santus 07-04-2008 16:09:58

Holas.

Se me ocurre que quiza podrias usar findcomponent...

Código:


  (FindComponent(Edit1.Text) as TRichEdit).Text := 'Holitas';

busca mas en el foro si no estas familiarizado con FindComponent que hay un monton de hilos....

Saludos.

camino 07-04-2008 17:18:58

Respondio de maravilla
 
Gracias xEsk me funciono super bien.


La franja horaria es GMT +2. Ahora son las 05:29:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi