Ver Mensaje Individual
  #2  
Antiguo 26-09-2015
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Reputación: 21
Angel.Matilla Va por buen camino
Estaba dándole vueltas a vuestros comentarios. Gracias a todos por ellos.
Cita:
Empezado por roman Ver Mensaje
Posoblemente tienes el formulario del Login en el auto-create y dado que su propiedad Visible está en true, cuando llegas al OnActivate, la ventana ya está visible.
Si te fijas en el código que he subido no es así. En el Form1:
Código:
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
     : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormActivate(TObject *Sender)
{
     Application->CreateForm(__classid(TForm2), &Form2);
     Form2->ShowModal();
     delete Form2;
}
//---------------------------------------------------------------------------
Como podéis ver Form2 no existe hasta que se ejecuta el evento OnActivate y por lo tanto la ventana no está visible cuando se ejecuta el ShowModal(). Además, esta forma de lanzar los formularios la llevo usando años y ayer, de repente, dejó de funcionar. Probaré a situarlo en otros eventos, pero sigo sin entender por qué ha ocurrido de repente. Una solución pasa por reinstalar Builder por si se hubiera modificado alguna propiedad de la instalación; otra cosa no se me ocurre.
Responder Con Cita