ComprobarContrato es llamado en Tpresupuestos en el evento AfterScroll y comprueba si para un presupuesto existe un contrato:
Código Delphi
[-]procedure TFormPresupuestos.ComprobarContrato;
begin
if (TPresupuestosContrato.IsNull) then
SpeedButtonContrato.Caption:='Hacer contrato'
else SpeedButtonContrato.Caption:='Ver contrato';
end;
En el evento BeforeDelete de Tpresupuestos se realiza lo siguiente (borra cada linea de detelle del presupuesto de la tabla detalle (maestro/detalle):
Código Delphi
[-]QCanBorD.Params[0].AsInteger:=TPresupuestosIdpres.AsInteger;
QCanBorD.ExecSQL;
QCanBorD.Close;
Las demás tablas no tienen nada en los eventos.
Y DBEditsLectura pone campos para solo lectura:
Código Delphi
[-]procedure TFormPresupuestos.DBEditsLectura;
begin
DBEditIdpre.ReadOnly:=true;
DBEditFechaPre.ReadOnly:=true;
DBEditLinst.ReadOnly:=true;
DBEditSuma.ReadOnly:=true;
DBMemoFp.ReadOnly:=true;
DBMemoObs.ReadOnly:=true;
EditCodigo.Text:='';
EditNombre.Text:='';
EditCantidad.Text:='';
PanelProd.Enabled:=false;
PanelCli.Enabled:=false;
SpeedButtonAnaLProd.Enabled:=false;
SpeedButtonQuiLProd.Enabled:=false;
end;
He puesto puntos de ruptura y el FormCreate lo realiza todo y se para justo en el end; danto error de CPU.
Alguna idea?
Muchisimas gracias por tu contestación, estoy atascada ahí.
GRACIAS.