Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-03-2011
Avatar de granodetoro
granodetoro granodetoro is offline
Miembro
NULL
 
Registrado: mar 2011
Posts: 71
Poder: 16
granodetoro Va por buen camino
bueno grax ecfisa
Responder Con Cita
  #2  
Antiguo 30-03-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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 granodetoro.

Aunque el C++ no es mi fuerte, intentá con este código que acabo de probar y no permite abrir el segundo form más de una vez:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 for(int i = MDIChildCount-1; i >= 0; i--)
  if(MDIChildren[i]->Name == "Form2"){
     MDIChildren[i]->BringToFront();
  return;
  };
  Application->CreateForm(__classid(TForm2), &Form2);
}
Tendrías que sacar 'Form2' (o como se llame tu segundo form ) de: Proyect->Options->Forms->'Auto-create forms'

Y también es buena idea agregar en el evento OnClose del segundo form:
Código:
void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)
{
 Action= caFree;
}
Sin lugar a dudas algún compañero experto en C++ te sugiera algún modo más elegante y eficiente de realizarlo, pero por ahora...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 30-03-2011 a las 02:30:02.
Responder Con Cita
  #3  
Antiguo 30-03-2011
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
en realidad solo debes llamarlo como a otro form.... es decir...

Código Delphi [-]
if TFrmClientes = nil then
  Application.CreateForm(TFrmClientes, FrmClientes);
FrmClientes.show;

Aquí te pongo una función que me imagino la corregiran pero estoy usandola para crear los formularios:

Código Delphi [-]
procedure TFrmMain.CreateForm(AClass: TPersistentClass; FormName: String; ShowModal : Boolean);
  var
    Component : TComponent;
begin
  Component := Application.FindComponent(FormName);

  if not Assigned(Component) then begin
    try
      FindClass('T'+FormName);
    except
      classes.RegisterClass(AClass);
    end;
    Application.CreateForm(TComponentClass(AClass), Component);
  end;

  if Not ShowModal then
    TForm(Component).Show
  else begin
    TForm(Component).ShowModal;
    TForm(Component).Free;
  end;
end;

y entonces al tratar de crear o mostrar el formulario solo llamo:

Self.CreateForm(TPeriodosInv, 'PeriodosInv');

para ambas opciones, ten en cuenta que al cerrar el formulario debes liberarlo:

Código Delphi [-]
procedure TFrmMovimientos.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  FrmMovimientos := nil;
end;

Saludos.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #4  
Antiguo 30-03-2011
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
jejejejeje.... no habia visto que era C....

que pena... TRAGAME TIERRA!
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
¿Cómo evitar que al cerrar el formulario principal se cierren los demás? Master23 Varios 5 06-06-2010 13:14:46
acceder a los controles de otro formulario MDIChild!! _CALI Varios 1 04-12-2009 22:00:30
Evitar cerrar un formulario desde un componente genius Varios 1 23-11-2006 15:55:42
Evitar cierre del formulario. Tonio Varios 3 16-09-2005 23:47:39
como llamo al shellexecute sarga API de Windows 2 14-04-2004 15:18:49


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


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