Ir al contenido


Foto

Cerrar form creado en tiempo de ejecucion


  • Por favor identifícate para responder
4 respuestas en este tema

#1 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 02 junio 2010 - 06:12

Pues eso, la pregunta es muy parecida a una que se hizo ayer.

Desde un Formulario principal creo en tiempo de ejecucion otro formulario (Form2). Dentro de Form2 hay un bitbtn



delphi
  1. kind := bkCancel
  2. ModalResult := mrCancel



Hasta ahi no hay ningun problema. El problema surge porque en Form2 creo a Form3 y dentro de Form3 tambien tengo un bitbtn con las mismas propiedades que el que esta en Form2. Entonces cuando cierro Form3 desde el bitbtn se cierra tambien Form2.

El comportamiento que yo esperaria es que Form3 se cierre y deje activo a Form2, sin embargo no lo hace.

Ambos formularios los creo de la misma manera:



delphi
  1. procedure TfrmClientesExp.btnModificarClick(Sender: TObject);
  2. begin
  3.   with TfrmClientesEdt.Create(Application) do
  4.     try
  5.       ShowModal;
  6.     finally
  7.       free;
  8.     end;
  9. end;



¿Alguna idea?
  • 0

#2 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 02 junio 2010 - 07:50

Es un comportamiento que ya habia visto antes, aunque personalmente no se de una explicación razonable para ello. Mi consejo sería que imaginando la existencia del form1, crees los procedimientos allí, así simplemente se ejecutan desde el form2 o el form3 esperando que no se afecten entre si.


Saludos!
  • 0

#3 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 03 junio 2010 - 01:51

Pues yo no logro reproducir el problema. Te dejo el ejemplo

Saludos.
  • 0

#4 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 03 junio 2010 - 11:19

Efectivamente, no se reproduce en tu ejemplo, jajaja sin embargo en mi aplicacion aun sigue, le ando buscando, alguna tonteria he de haber hecho
  • 0

#5 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 03 junio 2010 - 11:23

Pues eso, la pregunta es muy parecida a una que se hizo ayer.

Desde un Formulario principal creo en tiempo de ejecucion otro formulario (Form2). Dentro de Form2 hay un bitbtn



delphi
  1. kind := bkCancel
  2. ModalResult := mrCancel



Hasta ahi no hay ningun problema. El problema surge porque en Form2 creo a Form3 y dentro de Form3 tambien tengo un bitbtn con las mismas propiedades que el que esta en Form2. Entonces cuando cierro Form3 desde el bitbtn se cierra tambien Form2.

El comportamiento que yo esperaria es que Form3 se cierre y deje activo a Form2, sin embargo no lo hace.

Ambos formularios los creo de la misma manera:



delphi
  1. procedure TfrmClientesExp.btnModificarClick(Sender: TObject);
  2. begin
  3.   with TfrmClientesEdt.Create(Application) do
  4.     try
  5.       ShowModal;
  6.     finally
  7.       free;
  8.     end;
  9. end;



¿Alguna idea?


Se me ocurren dos:
  • Que una de las formas no se de tipo "NORMAL", es decir, fsNormal.
  • Que la forma que no responde tenga algún componente cuya librería esté dañada.
Fuera de éso, tu problema es casi un caso para "La Araña"...
  • 0




IP.Board spam blocked by CleanTalk.