Ver Mensaje Individual
  #2  
Antiguo 16-02-2007
Cecilioxx Cecilioxx is offline
Registrado
 
Registrado: feb 2007
Ubicación: Santander
Posts: 5
Reputación: 0
Cecilioxx Va por buen camino
Hola, saludos:

Creo que tu problema es, como dices, si creas todos los formularios te ocupa mucha memoria.
Es muy fácil (Yo tengo Builder 5, supongo es igual que en 6)
Tú diseña todos los formularios, como has venido haciendo. Vete a "Project", te aparecerá un ficha con varias pestañas. Elige "Forms". Allí te aparecerán todos tus formularios en una columna que dice: "Auto-create-forms" (Son los que se crean desde el principio. A la derecha te aparece una columna, inicialmente vacía "Available-forms" -que no se generan automáticamente- y tendrás que generarlos tú cuando los necesites y destruirlos cuando no sean necesarios.
Los que no quieras que se generen al principio pásalos a la 2ª columna con el botón >
Piensa que algún formulario de mucho uso puedes mantenerlo a la izquierda. Yo tengo siempre un formulario que llamo "Inicio" desde donde hago las llamadas a los procesos del programa.

Para crear y destruir los formularios utilizo el código siguiente, como
repuesta al evento Click al pulsar un botón

Código:
void __fastcall TInicio::Btn_UsuariosClick(TObject *Sender)
{
  Datos->FSociedades->Open();
  Datos->FCentros->Open();
  Datos->FUsu->Open();
  TUsuarios *Usuarios=new TUsuarios(this);//Creo el formulario Usuarios ya diseñado
 Usuarios->ShowModal();
 Datos->FUsu->Close();
 Datos->FSociedades->Close();
 Datos->FCentros->Close();
 delete Usuarios;//Destruyo el formulario Usuario
}
//---------------------------------------------------------------------------
void __fastcall TInicio::Btn_ClaveClick(TObject *Sender)
{
Datos->FUsu->Open();
TClave *Clave=new TClave(this); //Creo el formulario Clave
Clave->ShowModal();
Datos->FUsu->Close();
delete Clave;// Destruyo el formulario
}
//---------------------------------------------------------------------------
void __fastcall TInicio::Btn_IvaClick(TObject *Sender)
{
Datos->FIva->Open();
TPorcenIva *PorcenIva=new TPorcenIva(this); // creo el formulario
PorcenIva->ShowModal();
Datos->FIva->Close();
delete PorcenIva; //Le destruyo
}
//---------------------------------------------------------------------------
void __fastcall TInicio::Btn_EjerciciosClick(TObject *Sender)
{
Datos->FSociedades->Open();
Datos->FCentros->Open();
Datos->FEjercicios->Open();
TEjercicios *Ejercicios=new TEjercicios(this);
Ejercicios->ShowModal();
Datos->FEjercicios->Close();
Datos->FCentros->Close();
Datos->FSociedades->Close();
delete Ejercicios;
Datos->ActuBarra();
}
Todo es así de simple - A tu disposición
Responder Con Cita