Ver Mensaje Individual
  #2  
Antiguo 16-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Nicolas.

No se bién el escenario en que se presenta, es decir, desde donde son abiertos los forms, si los forms compras y ventas dependen de caja, si ambos estarán abiertos, si...

Form Caja:
Código Delphi [-]
...
implementation

uses UnitCpra, // frmCompra
     UnitVta; // frmVenta

procedure FormsOnOff(F1,F2: TForm; Active: Boolean);
begin
  if Assigned(F1) then F1.Enabled:= Active;
  if Assigned(F2) then F2.Enabled:= Active;
end;

procedure TfrmCaja.FormCreate(Sender: TObject);
begin
  FormsOnOff(frmCompra, frmVenta, False);
end;

...

procedure TfrmCaja.btnAperturaCajaClick(Sender: TObject);
begin
   FormsOnOff(frmCompra, frmVenta, True);
end;

procedure TfrmCaja.btnCierreCajaClick(Sender: TObject);
begin
  FormsOnOff(frmCompra, frmVenta, False);
end;

procedure TfrmCaja.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if Assigned(frmCompra) and Assigned(frmVenta) then
    CanClose := frmCompra.Enabled and frmVenta.Enabled
  else if Assigned(frmCompra) and not Assigned(frmVenta) then
    CanClose := frmcompra.Enabled
  else if not Assigned(frmCompra) and not Assigned(frmVenta) then
    CanClose := frmVenta.Enabled;
end;
Para lo cuál frmCaja debe incluir las unidades de los forms compra y venta.

El motivo de tanta comprobación es por que desconozco si están creados ambos o puede estar creado solo uno de ellos. La razón del evento OnCloseQuery, es que no sé si podrías volver a llamar a frmCaja para habilitar los anteriores, lo que los dejaría desactivados. Si frmCaja se puede llamar desde otro punto se podría quitar.

Fijate si de este modo te resulta, si no nos comentás con más detalle.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita