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 19-09-2016
fabiodidone fabiodidone is offline
Miembro
NULL
 
Registrado: sep 2016
Posts: 11
Poder: 0
fabiodidone Va por buen camino
Abrir simultáneamente dos formularios Builder c++

Hola gente. Soy nuevo en el foro y les agradezco por aceptarme. Empiezo con una consulta.

Quiero crear una aplicación que al abrir un formulario (Form1), se abra automáticamente un segundo formulario (Form2), todos dentro del mismo proyecto. He leído que se logra utilizando el evento OnActivate del primer formulario, pero no lo logre. Si bien se abren los dos formularios, el primero queda como congelado y no permite hacerle nada. Como si la propiedad Enable estuviera en False, que no lo esta obviamente. Alguna sugerencia?
Responder Con Cita
  #2  
Antiguo 20-09-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y tu código para que lo veamos?

Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración
Responder Con Cita
  #3  
Antiguo 20-09-2016
exmachina exmachina is offline
Miembro
NULL
 
Registrado: sep 2016
Ubicación: 127.0.0.1
Posts: 30
Poder: 0
exmachina Va por buen camino
Seguramente estas usando ShowModal() donde deberias usar Show().
Responder Con Cita
  #4  
Antiguo 20-09-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Si no interpreté mal lo que te sucede, intentalo de este modo:

Unit1.h:
Código PHP:
...

#define WM_AFTER_SHOW (WM_USER + 300)

class TForm1 : public TForm
{
__published:
  
void __fastcall FormShow(TObject *Sender);

private:
  
void __fastcall WMAfterShow(TMessagemsg);
  
BEGIN_MESSAGE_MAP;
    
MESSAGE_HANDLER(WM_AFTER_SHOWTMessageWMAfterShow);
  
END_MESSAGE_MAP(TForm);

public:
  
__fastcall TForm1(TComponentOwner);
};

... 
Unit1.cpp:
Código PHP:

#include "Unit2.h"
...

void __fastcall TForm1::WMAfterShow(TMessagemsg)
{
  
Form2->Show();
}

void __fastcall TForm1::FormShow(TObject *Sender)
{
  
//...
  //...
  
PostMessage(HandleWM_AFTER_SHOW00);
}

... 
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 20-09-2016
fabiodidone fabiodidone is offline
Miembro
NULL
 
Registrado: sep 2016
Posts: 11
Poder: 0
fabiodidone Va por buen camino
Hola, es verdad. Gracias por recordarmelo.

En Unit1.cpp tengo esto:
Código PHP:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

__fastcall TForm1::TForm1(TComponentOwner)
        : 
TForm(Owner)
{
}


void __fastcall TForm1::FormActivate(TObject *Sender)
{
Form2->Show();

En Unit2.cpp tengo esto otro:
Código PHP:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
__fastcall TForm2::TForm2(TComponentOwner)
        : 
TForm(Owner)
{


Última edición por ecfisa fecha: 20-09-2016 a las 22:30:17. Razón: Agregar etiquetas [php] [/php]
Responder Con Cita
  #6  
Antiguo 20-09-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

¿ Y ya probaste la sugerencia que te dí ?, por que a mi me funciona perfectamente...



Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 21-09-2016
fabiodidone fabiodidone is offline
Miembro
NULL
 
Registrado: sep 2016
Posts: 11
Poder: 0
fabiodidone Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.
¿ Y ya probaste la sugerencia que te dí ?, por que a mi me funciona perfectamente...
Saludos
Hola, como estas. Todavía no lo probé, pero seguro que lo voy a hacer, porque te funciono.
Que tendrá mi código que deshabilita el primer formulario?
Responder Con Cita
  #8  
Antiguo 21-09-2016
exmachina exmachina is offline
Miembro
NULL
 
Registrado: sep 2016
Ubicación: 127.0.0.1
Posts: 30
Poder: 0
exmachina Va por buen camino
&ecfisa

Hola. Podrias subir el codigo completo y/o explicar para que sirve lo de WM_AFTER_SHOW. Por cierto, gracias a tu codigo acabo de descubrir lo de BEGIN_MESSAGE_MAP/END_MESSAGE_MAP (¡Algun dia tendre que leer la documentacion...!)

Un saludo

Responder Con Cita
  #9  
Antiguo 21-09-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

El mensaje personalizado WM_AFTER_SHOW, como su nombre lo sugiere, sirve para ejecutar código después del evento OnShow del form. Encontré un enlace que te podría resultar interesante: Messages and Events of Windows Controls.

También te adjunto el código fuente del ejemplo que solicitas.

Saludos
Archivos Adjuntos
Tipo de Archivo: zip ejemplo.zip (5,1 KB, 9 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 21-09-2016
exmachina exmachina is offline
Miembro
NULL
 
Registrado: sep 2016
Ubicación: 127.0.0.1
Posts: 30
Poder: 0
exmachina Va por buen camino
Gracias por la respuesta y tambien por el codigo.
Responder Con Cita
  #11  
Antiguo 22-09-2016
fabiodidone fabiodidone is offline
Miembro
NULL
 
Registrado: sep 2016
Posts: 11
Poder: 0
fabiodidone Va por buen camino
Baje el Ejemplo, y trate de correrlo así como esta, pero me tira: Expected a file name. Alguna idea de que me esta faltando?
Responder Con Cita
  #12  
Antiguo 22-09-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola fabiodidone.

Por si hubiera habido algún error de transferencia acabo de descargar, descomprimir y probar el adjunto con éxito.

Por favor mostranos la parte de código donde se produce ese error,usa Breakpoints y Trace Into para localizarlo. También especifica sistema operativo y versión de C++ Builder.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #13  
Antiguo 28-09-2016
fabiodidone fabiodidone is offline
Miembro
NULL
 
Registrado: sep 2016
Posts: 11
Poder: 0
fabiodidone Va por buen camino
Uso siempre el Builder c++ 6.0. En una computadora el Win XP y en otra el 7. El error que tira es este [Linker Fatal Error] Fatal: Expected a file name: Igual gracias por la ayuda.
Responder Con Cita
  #14  
Antiguo 29-09-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola fabiodidone.

El error que mencionas, no tiene que ver con la consulta inicial de este hilo sino con caracteres ilegales en los nombres de carpeta donde reside el proyecto, revisa estos enlaces:Buscando en la web con el error vas a conseguir mas enlaces.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #15  
Antiguo 29-09-2016
fabiodidone fabiodidone is offline
Miembro
NULL
 
Registrado: sep 2016
Posts: 11
Poder: 0
fabiodidone Va por buen camino
Ok, que raro. Cuando lo descargo a mi computadora le dejo el nombre que pone por defecto (que es Ejemplo) y no lo modifico. Esta tal como lo descargo. Abro el Builder, presiono Run o F9 sin mas. Tendría que ver que pasa con algún otro. Tengo el CodeBlock y puede que alguien tenga el Embarcadero. De todas formas voy a ver los enlaces que dices a ver si me aclara que esta sucediendo que no me funciona.

Abrazo!!!
Responder Con Cita
  #16  
Antiguo 01-10-2016
Snaked Snaked is offline
Baneado
NULL
 
Registrado: sep 2016
Posts: 102
Poder: 0
Snaked Va por buen camino
Prueba a poner Form2->Show(); en el evento OnShow() del Form1 en vez de en onActivate()

la diferencia entre Form2->Show() y Form2->ShowModal() es que el modal, no te deja salir de ese formulario si no es cerrando la ventana (o algo asi) mientras que con el Show() solo, puedes cambiar de un formulario a otro en cualquier momento

un saludo
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
Error al cerrar o abrir varios formularios wolfran_hack Varios 1 10-07-2013 11:17:11
Problemas al abrir nuevas ventanas (Formularios) y mostrar imágenes... zeta2 Varios 2 23-04-2013 18:47:43
Abrir Formularios con el Proyecto Neeruu Varios 2 06-12-2012 00:50:57
Utilizar Simultaneamente Dbase y Acces simultaneamente y en Otras Aplicaciones carsan Conexión con bases de datos 1 24-10-2007 04:53:07
Utilizar Formularios Delphi en C++ Builder pmarin C++ Builder 1 04-06-2007 16:03:32


La franja horaria es GMT +2. Ahora son las 11:34:11.


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