Ver Mensaje Individual
  #3  
Antiguo 30-04-2018
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Reputación: 11
bucanero Va camino a la fama
Hola a todos

todo depende de la clase de objetos que pretendas buscar y encontrar, en particular si trabajas con frames/Forms este método te puede servir. Prueba el siguiente código:

Código Delphi [-]
unit UnitMiFrame;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
  Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TMiFrame = class(TFrame)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

{$R *.dfm}

procedure TMiFrame.Button1Click(Sender: TObject);
begin
  MessageDlg('Hola mundo', mtWarning, [mbOK], 0);
end;

initialization
  /// ESTA PARTE ES MUY IMPORTANTE. Registrar la clase para que se pueda localizar mas adelante.
  RegisterClass(TMiFrame);
end.

Código Delphi [-]
type
  TClassFrame = class of TFrame;

procedure TForm1.Button1Click(Sender: TObject);
var
  FPersistentClass: TPersistentClass;
  ClassFrame:TClassFrame;
  frame: TFrame;
begin
  FPersistentClass := FindClass('TMiFrame');
  if Assigned(FPersistentClass) and (FPersistentClass.InheritsFrom(TFrame)) then begin
    ClassFrame := TClassFrame(FPersistentClass);
    try
      frame := ClassFrame.Create(self);
      frame.Parent := Self;
      frame.Left := 100;
      frame.Top := 100;
    except
      on E: Exception do
        MessageDlg(E.message, mtError, [mbOK], 0);
    end;
  end;
end;

Un saludo
Responder Con Cita