Ver Mensaje Individual
  #5  
Antiguo 23-09-2004
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Obvio, por eso puse la version facil y la completa.

Sin embargo, pensando que DELPHI HACE LO MISMO pues resulta que hay unas cuantas funciones bien interesantes:

VENTAJA: Tenemos listo un Factory con Delphi y no toca armar el codigo que puse arriba (al menos, para cosas no muy complejas)
Código Delphi [-]
  FindClass ('TButton') //Para cualquier clase basada en TPersistent, busca por el tipo de clase
  GetClass('TButton') //La busca por el nombre del componente, basado en TPersistent
 FindComponent ('Un Nombre') //Lo busca por el nombre como MiControlEdit, debe estar DENTRO de otro control Forma1.FindControl....
  
 RegisterClasses([TIcon, //Registra clases que no estan montadas aun en los forms o dentro de las clases de los forms y sus hijas, incluso LAS QUE UNO CREE EN BASE A TPersistent!
  
  //Ejemplo:
  procedure TForm1.BitBtn1Click(Sender: TObject);
  
  begin
     { make sure the classes are registered so that GetClass will work -- }
     { Usually, this goes in the initialization section where it is only executed once }
    RegisterClasses([TIcon, TBitmap, TJPEGImage, TMetafile]);
    Edit1.Text := GraphicExtension(TGraphicClass(GetClass(Edit2.Text)));
   end;

Con eso y el RTTI se hace mucha magia. Sin embargo la maxima flexibilidad es con un componente de Script Engine. Como el DWS o el TMS Script o el Pascal Script.
__________________
El malabarista.
Responder Con Cita