Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-09-2007
Avatar de novato03
novato03 novato03 is offline
Miembro
 
Registrado: ago 2007
Posts: 45
Poder: 0
novato03 Va por buen camino
Red face Problema con Forms MDI

Hola amigos del clubdelphi, estoy tratando de invocar un formulario fsMDIChild
desde un formulario fsMDIForm, pero al hacerlo con el siguiente código...

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
   form2:=TForm2.Create(self);
   try
   Form2.ShowModal;
   finally
      Form2.Free;
   end;
end;

me presenta el siguiente error...
------------------------------------------------------------------------
Project Project1.exe raised exception class EInvalidOperation with message 'Cannot make a visible window modal'. Process stopped. Use Step or Run to continue.
-------------------------------------------------------------------------

El asunto es que le coloque la propiedad visible a false pero dice que el formulario no puede estar Hide, de tal forma que lo deje en True.

Por cierto en Project del menu el formulario esta en la ventana de Available forms.

Si alguien me puede dar una ayudita con esto se lo agradecería, gracias de antemano.
Responder Con Cita
  #2  
Antiguo 04-09-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola novato03,
Tu error está en que estas tratando de mostrar modalmente una ventana hija. Y esto está fuera del uso esperado.
No tiene sentido alguno mostrar modalmente una ventana hija. En vez de usar ShowModal, emplea Show().

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 04-09-2007
Avatar de novato03
novato03 novato03 is offline
Miembro
 
Registrado: ago 2007
Posts: 45
Poder: 0
novato03 Va por buen camino
Asunto

Empleo el show pero no me muestra nada, solo un parpadeo y listo
Responder Con Cita
  #4  
Antiguo 04-09-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola,
Mira, yo di por entendido que el uso del try/except lo destruirías.... ¿porque no te fijas lo que realmente haces?

Si tu indicas:
Código Delphi [-]
try
form2.show
finally
form2.free;
end;

Lo que consigues es crear e inmediatamente liberar el form2. La forma correcta:
Código Delphi [-]
form2 := TForm2.Create(selft);
form2.Show;

El uso del try/finally tal como lo tenias inicialmente te serviría si crearas ventanas modales, no MDIChild.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 04-09-2007
Avatar de novato03
novato03 novato03 is offline
Miembro
 
Registrado: ago 2007
Posts: 45
Poder: 0
novato03 Va por buen camino
Cool Asunto

Muchas gracias amigo delphius, funciona muy bien el único detalle es que cuando presiono el botón de salir el formulario solo se minimiza, acaso hay otra forma de cerrar estos formularios child?
Responder Con Cita
  #6  
Antiguo 04-09-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
En una aplicacion MDI, ese es el comportamiento esperado. Lo habitual, si tu deseas que se cierre debes setear el valor de la variable action del evento onClose, por caFree:

Código Delphi [-]
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Action := cafree;
end;

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 04-09-2007
Avatar de novato03
novato03 novato03 is offline
Miembro
 
Registrado: ago 2007
Posts: 45
Poder: 0
novato03 Va por buen camino
Thumbs up Asunto

Muchas gracias por tu ayuda amigo Delphius, ahora funciona perfectamente....Gracias
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
problema entre dos forms bubu32 Internet 1 03-09-2007 17:18:49
Problema con forms y zeos enecumene Conexión con bases de datos 7 01-09-2007 15:25:26
Problema con forms krilea Varios 3 08-03-2005 14:59:27
Problema con Forms Dinamicos diegofhernando Varios 5 08-10-2003 03:09:26
Problema con Forms diegofhernando Varios 3 16-07-2003 22:22:10


La franja horaria es GMT +2. Ahora son las 08:28:19.


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