Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-01-2007
ing_gera ing_gera is offline
Registrado
 
Registrado: dic 2006
Posts: 3
Poder: 0
ing_gera Va por buen camino
Crear y destruir formas dinamicamente

Hola a todos, de antemano agradezo la ayuda que me puedan ofrecer.

Mi problema es que tengo una aplicacion en la cual permito que se creen automaticamente todas mis formas, y a la larga el consumo de memoria es enorme y se alenta la pc.

Quisiera saber como crear y destruir formas en C++ Builder 6 no le se muy bien la la POO por eso no se como hacerlo.

Gracias.
Responder Con Cita
  #2  
Antiguo 16-02-2007
Cecilioxx Cecilioxx is offline
Registrado
 
Registrado: feb 2007
Ubicación: Santander
Posts: 5
Poder: 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
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear form dinamicamente karocs Varios 1 15-09-2005 20:15:18
Crear objetos dinamicamente (runtime) Ing_Fajardo OOP 4 06-04-2005 10:02:56
Crear RadioButtons dinámicamente Javi2 Varios 4 26-07-2004 17:27:00
crear popups dinamicamente. tango01 OOP 2 06-01-2004 16:33:03
Creando dinamicamente formas D.M Varios 2 12-09-2003 20:59:38


La franja horaria es GMT +2. Ahora son las 06:15:37.


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