
Aqui les dejo la imagen y mientras me gustaria saber como manejar esta excepcion para que no me de error cuando cierro el programa. Luego les pondre una imagen de la linea del componente zeos donde se sale el programa.
Escrito 10 enero 2011 - 01:09
Escrito 10 enero 2011 - 03:37
function TZIBEventAlerter.GetPlainDriver: IZInterbasePlainDriver; begin Result := (FConnection.DbcConnection as IZInterbase6Connection).GetPlainDriver; end; { TIBEventThread }
Escrito 10 enero 2011 - 03:49
Escrito 10 enero 2011 - 07:47
procedure TFRMactivasred.salidaClick(Sender: TObject); var f: TForm; begin f := Dialogs.CreateMessageDialog('REALMENTE DESEA SALIR', dialogs.mtConfirmation, dialogs.mbOKCancel); f.Color := clBlue; f.Font.Color := clLime; if f.ShowModal = mrOk then BEGIN Timermonitoreo.Enabled:=false; DMmonitorenred.ZConmonred.Disconnect; Application.Terminate; END; end;
Escrito 10 enero 2011 - 07:59
.........Esto es lo mismo que tiene el onclosequery.
procedure TFRMactivasred.salidaClick(Sender: TObject); var f: TForm; begin f := Dialogs.CreateMessageDialog('REALMENTE DESEA SALIR', dialogs.mtConfirmation, dialogs.mbOKCancel); f.Color := clBlue; f.Font.Color := clLime; if f.ShowModal = mrOk then close; end;
Escrito 10 enero 2011 - 08:04
Esto es lo mismo que tiene el onclosequery.
DMmonitorenred.ZConmonred.Disconnect;
Escrito 10 enero 2011 - 08:07
Escrito 10 enero 2011 - 08:09
Escrito 10 enero 2011 - 08:11
Gracias Egostar, eso pensaba yo, pero entonces despues que le doy ok, me repite el mismo cuadro y tengo que vover a darle ok para cerrar el programa.
Escrito 10 enero 2011 - 08:16
if f.ShowModal = mrOk then Application.Terminate else CanClose := false;
Escrito 10 enero 2011 - 08:22
DMmonitorenred.ZConmonred.Disconnect;
Escrito 10 enero 2011 - 08:28
Sólo para complementar, en el evento OnCloseQuery necesitas validar si deseas que se termine o no la aplicación, de otra forma no hará caso de la pregunta "REALMENTE DESEA SALIR"
delphi
if f.ShowModal = mrOk then Application.Terminate else CanClose := false;
Salud OS
Escrito 10 enero 2011 - 09:07
Escrito 10 enero 2011 - 09:31
procedure TFRMactivasred.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var f: TForm; begin f := Dialogs.CreateMessageDialog('REALMENTE DESEA SALIR', dialogs.mtInformation, dialogs.mbOKCancel); f.Color := clBlue; f.Font.Color := clLime; if f.ShowModal = mrOk then BEGIN Timermonitoreo.Enabled:=false; // DMmonitorenred.ZConmonred.Disconnect; Application.Terminate; END else canclose := false; end;
Escrito 10 enero 2011 - 10:03
Escrito 10 enero 2011 - 10:35
Escrito 10 enero 2011 - 11:01
voy a revisar lo que me dices y voy a liberar el datamodule primero y luego el form principal a ver que pasa. Si aun asi no funciona entonces voy a revisar paso a paso y te muestro la linea del error.
gracias por tu tiempo delphius.![]()
Escrito 11 enero 2011 - 05:36
function TZIBEventAlerter.GetPlainDriver: IZInterbasePlainDriver; begin Result := (FConnection.DbcConnection as IZInterbase6Connection).GetPlainDriver; end; { TIBEventThread }
Escrito 11 enero 2011 - 07:30
Escrito 11 enero 2011 - 07:39
if Assigned(ElObjetoX) then showMessage('El objeto X está vivo') else showMessage('El objeto X está muerto. Cuidado... utilizarlo provoca un AV');