Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 26-02-2005
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Buen día a todos!

Cita:
Empezado por roman
...¿cuál es la ventaja de usar Application.CreateForm?...
La ventaja de utilizar el método Application.CreateForm en lugar de TMyForm.Create, es que CreateForm crea la instancia de la forma y asigna ésta a la variable dada, antes de llamar al constructor:
Código Delphi [-]
// Extracto de Forms.pas de Delphi 7
procedure TApplication.CreateForm(InstanceClass: TComponentClass;
  var Reference);
var
  Instance: TComponent;
begin
  Instance := TComponent(InstanceClass.NewInstance);
  TComponent(Reference) := Instance;
  try
    Instance.Create(Self);
  ...
Esto garantiza que los eventos OnCreate, OnShow y OnActivate, disparados por la llamada al constructor, se ejecuten cuando la variable forma ya tiene asignado un valor.

En el caso de usar la sintaxis "FormaX := TFormaX.Create", los eventos OnCreate, OnShow y OnActivate, se dispararán antes de realizarse la asignación.

Con respecto al evento OnPaint, la prueba de Lepe puede ser algo engañosa, ya que este evento se dispara de forma imprecisa, dependiendo de las necesidades de despliegue de la forma y sus controles. Puede ocurrir de forma asíncrona a la construcción de la forma.

Lepe, dudo de dos de los resultados que has presentado. Específicamente el de los eventos OnActivate y OnShow de la prueba con forma SDI, que deberían ser False y False. En el caso de la forma MDI me parece que los resultados False, False, False y True son correctos.

Es decir, al no usar el método Application.CreateForm, los resultados para OnCreate, OnShow y OnActivate son False en todos los casos, y True si se utiliza Application.CreateForm.

Espero esto sea de utilidad, seguimos en contacto.

Al González. .
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 18:31:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi