Ver Mensaje Individual
  #2  
Antiguo 18-06-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
No se si te he entendido bien,...

A partir del nombre de una clase, puedes crear un objeto de esa clase (con algunas restricciones) si la clase está registrada. Pare ello puedes buscar ayuda sobre GetClass; En los foros encontrarás mensajes y ejemplos.
Esto te puede servir, por ejemplo, para crear un formulario a partir del nombre de su clase.

Lo otro que puedes hacer es, a partir del nombre (prop. Name) de un objeto buscar ese objeto y acceder a sus propedades. Pare ello puedes utilizar FindComponent. Si buscas ejemplos en los foros también encontrarás muchos.

Creo que lo que tú necesitras no es ni lo uno, ni lo otro. Si lo que quieres es acceder al objeto que se envía como parámetro de un evento (como se hace en el código de ejemplo) sólo te queda realizar el CAST de ese objeto con su clase. Es decir algo así:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if (Sender is TEdit) then begin
    TEdit(Sender).Tag := 1;
  end
  else if (Sender is TDBEdit) then begin
    ....
  end;
end;

En el caso de la propiedad Tag, por ejemplo, como pertenece a TComponent, podrías hacer algo como esto:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
 begin
  if (Sender is TComponent) then begin
    TComponent(Sender).Tag := 1;
  end
  else if  ....
  end;
 end;

Funcionaría para todos los componentes derivados de TComponent.

Esto no es muy "académico" por decirlo así, sobre todo si la variedad de los componentes es grande. Para solventarlo puedes utilizar RTTI. Te dejo este link, donde está explicado con detalle y con el código necesario modificar propiedades utilizando RTTI.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita