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.