Ver Mensaje Individual
  #1  
Antiguo 25-02-2010
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Reputación: 17
Neeruu Va por buen camino
Cool Duda Sobre Excepciones - Propagar Excepciones entre los formularios

Hola a todos....

Tengo algo que no me esta saliendo como quiero ...

Tengo esta situación, en una aplicación MDI

Se inicia la aplicación, se crea el formulario principal.

En el OnCreate del Formulario Principal (FrmMDIMain), llama a otro formulario (FrmMDIChild)

Código Delphi [-]
  try
    Try
      FrmMDIChild := TFrmMDIChild.Create(Self);
      if FrmMDIChild.ShowModal = mrCancel then
        Raise Exception.Create('Usuario No Autorizado');
    except
      On E:Exception do
        begin
          Application.ShowException(E);
          Application.Terminate;
        end;
    end;
  finally
    FrmMDIChild.Close;
  end;

Ahora en el OnCreate de FrmMDIChild llamo a una funcion

Código Delphi [-]
  if Not (MyFuncion = True) then
    raise exception.Create('No se puede Conectar con la Base de Datos.' +
      #13 + #10 + 'La aplicación se Cerrará.');

Mi Pregunta es:

Porque el Try Except del FrmMDIMain... no captura la Excepción del FrmMDIChild.
Que es lo que hace?... Me muestra el mensaje de la Excepción

Código Delphi [-]
    raise exception.Create('No se puede Conectar con la Base de Datos.' +
      #13 + #10 + 'La aplicación se Cerrará.');

y despues se Ejecuta me muestra el FrmMDIChild, por lo tanto se ejecuta la linea:

Código Delphi [-]
    if FrmMDIChild.ShowModal = mrCancel then
        Raise Exception.Create('Usuario No Autorizado');

Ahora lo que necesito es saber como capturar, o generar una excepción... que le avise al try except del FrmMDIMain que se produjo un error en la creación del FrmMDIChild y que debe saltar por el except.

Espero se entienda.

Saluda Atte Neeruu!!!
__________________
Saluda Atte Neeruu!!! :)

Última edición por Neeruu fecha: 25-02-2010 a las 19:13:03.
Responder Con Cita