Ver Mensaje Individual
  #11  
Antiguo 07-10-2005
lento manu lento manu is offline
Miembro
 
Registrado: oct 2004
Posts: 29
Reputación: 0
lento manu Va por buen camino
execute

De nuevo gracias, Lepe, por leerte tan bien el código. Tienes toda la razón, siempre que este llamando el método create desde la propiedad FModal=True. Quizá ha sido un error implementar la creación Modal o NoModal del form Explorador. Si es modal, la aplicación no permite crear ningún 'Explorador' más, ya que no tenemos foco para ello, pero no estaría de más protegerlo además con un Exit (eliminando la opción NoModal):
Código Delphi [-]
   if Modal then
     begin
     if not assigned(Explorador) then
       Explorador:= TfmExControlsTabla.CreateTabla(Owner, FTable);
     end
   else
     //Exit; //eliminaria toda opción NoModal
     Explorador:= TfmExControlsTabla.CreateTabla(Owner, FTable);
Si no quisiera, 'caprichos de usuario', editar en Modal, entonces se generan con el mismo componente tantos exploradores como llamadas haga, desde por ejemplo un menú de Exploración multitabla:
Código Delphi [-]
procedure TForm1.Materiales1Click(Sender: TObject);
begin
    DBX.Table:= fDM.TMateriales;
    DBX.Modal:= CheckBox1.Checked;
    try
      DBX.Execute;
    except
      on E:Exception do
      ShowMessage(E.Message);
    end;
end;
El grave problema o error es que estoy usando Owner como como antecesor de todas esas ventanas, muy peligrosas, que se autodestruyen al morir el form donde reside este componente DBexplorador, posiblemente sería mejor Self, si asigna el compo en si como propietario o Padre. Tendía que hacer las pruebas: Hecho: ningún problema de momento ...Han colado las NoModal apagando desde la principal.
Responder Con Cita