Delphi - apertura y cierres de formularios padres e hijos

 
Vista:

apertura y cierres de formularios padres e hijos

Publicado por mauri (17 intervenciones) el 15/05/2003 19:36:55
tengo un pequeño problema, tengo un formulario de captura de datos y dsd el cual se llama a otro de listados, pero dsd ese mismo de listados tb se puede volver a llamar al mismo listado de captura de datos.
Lo q necesito es poder cargarme el formulario que llama cuando se muestre el listado o viceversa ahora tal y como lo hago me dan fallos de acceso a memoria pq dps del showmodal para mostrar el siguiente formualrio aun quedan instrucciones (solo un end) por ejecutar en el formulario q llama, en fin como puedo hacerlo?

Espero q me entiendan
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:apertura y cierres de formularios padres e hijo

Publicado por Ernesto De Spirito (706 intervenciones) el 15/05/2003 20:57:33
Para la próxima vez, ayudaría que mostraras un poco del código que usas para facilitar que otros puedan intentar reproducir el problema, y también ayudaría saber el texto exacto del mensaje de error que te aparece.

A priori lo que puedo decirte es que si los dos formularios se llaman mutuamente con ShowModal, primero tendrás un error si el primer formulario está visible, y no sirve de nada ocultarlo para mostrarlo con ShowModal pues se te clavará la aplicación. Lo que puedes hacer es crear una nueva instancia del formulario y esa sí llamarla con ShowModal:

unit unit1;

implementation

uses unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
with TForm2.Create(Self) do ShowModal;
end;

// ==================================

unit unit2;

implementation

uses unit1;

procedure TForm2.Button1Click(Sender: TObject);
begin
with TForm1.Create(Self) do ShowModal;
end;

Así, por ejemplo, una instancia de TForm1 llama a una instancia de TForm2 con ShowModal, y luego esa instancia de TForm2 llama a otra instancia de TForm1 con ShowModal (en este punto hay dos instancias de TForm1: la primera, que no está accessible, y la segunda que es modal y que tiene el foco).

De todos modos, te sugiero reevaluar la situación y pensar si verdaderamente requieres formularios modales.

Espero que te sirva.

Ernesto De Spirito
http://www.latiumsoftware.com/es/index.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar