[Lazarus-es] Creación dinámica de Forms

JoshyFun joshyfun en gmail.com
Mie Sep 23 23:44:50 CEST 2009


Hello Jose,

Wednesday, September 23, 2009, 3:37:41 PM, you wrote:

JAC> Hola, ¿se pueden crear todos los formularios (incluido el "main") de una
JAC> aplicación de manera dinámica?. Lo pregunto porque al intentarlo, al
[...]
JAC> Type
JAC>   PMiForm: ^TMiForm;
JAC>   TMiForm = TObject(TForm);
JAC> Bueno, espero haberme explicado correctamente. Gracias y un saludo.

A ver, nunca he hecho nada de eso, pero se puede hacer, ya que es
justo lo que hace Lazarus en el .lpr. Vamos que tienes que hacerlo del
mismo modo que el código del .lpr, por ejemplo:

------------------------------------------
program chk;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms, LResources,
  ufrmMain, ufrmMain2;

begin
  {$I chkrecover.lrs} //Incluye los recursos de tu programa, entre
                      //ellos el diseño de los forms
  Application.Title:='Mi Programa';
  Application.Initialize;
  //Aquí puedes llamar a funciones ya, aunque cuidado ya que
  //no hay ningún form creado.
  if LoQueQuierasProbar then begin
    Application.CreateForm(TfrmMain, frmMain);
  end else begin
    Application.CreateForm(TfrmMain2, frmMain2);
  end;
  Application.Run; //Esto es necesario para crear la
                   //cola de eventos y el proceso de los mismos
end.
-------------------------------------

-- 
Best regards,
 JoshyFun





More information about the Lazarus-es mailing list