Ver Mensaje Individual
  #2  
Antiguo 24-09-2014
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Reputación: 21
gatosoft Va camino a la fama
Pues en principio veo tu código bien, No se si me escapa algún detalle, lo digo por que no eres muy específico en el "colgar"

Considero que deberías intentar una prueba simple, abriendo los formularios como lo indicas, pero sin activar la BD

Código Delphi [-]
procedure TMenuPrincipal.Clientes1Click(Sender: TObject);
var ficha:TElecClientes;
begin
Ficha:=TElecClientes.Create(Self);
//Ficha.DbClientes.Active:=True;
Ficha.Showmodal;
//Ficha.DbClientes.Active:=False;
Ficha.Free;
end;

De esta manera podría detectar si el problema está al activar tu BD, que al cargarse puede estar realizando alguna operación o consumiendo recursos...

También podría suceder que en el mismo oncreate o en el onshow esté realizando operaciones con recursos compartidos con los formularios gemelos...

Bueno, no se que mas decirte...

Por ultimo, te recomendaría (sugerencia personal) que revisaras la activación de la BD en el OnCreate del propio formulario...

Otra sugerencia sería que destruyeras el formulario en el evento OnClose, algo asi:

Código Delphi [-]
Procedure TForm1.OnClose(Var Action...)
BEgin
  Action:= caFree
end;

Con ésto aseguras que cada vez que cierre el formulario se libera la memoria...

saludo,
Responder Con Cita