Ver Mensaje Individual
  #9  
Antiguo 15-09-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Pues bien, resulta que ahora tengo problemas

No logro encontrar el motivo, pero basicamente cualquier evento tanto del componente como el de los controles ActiveX se comen las excepciones

es decir, hacer algo como esto:

Código Delphi [-]
  raise Exception.Create('Una excepcion');

Y no pasa nada

La unica forma de "atraparla" es con Run (F9). Es decir, desde el IDE y con el depurador si veo la excepcion. Sino no. Trate de seguirla y termina en codigo ASM del que poco entiendo. Probe las siguiente variantes:

Código Delphi [-]
  try
    { generar excepcion }
  except
    raise;
  end;


Código Delphi [-]
  try
    { generar excepcion }
  except
    RaiseLastOsError;
  end;

Y fracase estripotosamente

Esto sucede en una aplicacion con solo el componente que diseñe yo o bien su contraparte COM. Es decir, la "culpa" esta ahi; pero no tengo ningun manejador OnApplicationException o similar. Tampoco hay un bloque que coma excepciones, o al menos no lo he visto (pero eso deberia ser rastreable usando el depurador). Es mas, si coloco un componente ApplicationEvents, en su evento OnException nunca llega la excepcion en cuestion

Creo que hay algo del modelo COM que se me escapa.

A ver si alguien puede arrojar un poco de luz

Edito:

Aun mas confundido. Esto hace aparecer la excepcion pero...

Código Delphi [-]
  try
    { generar excepcion }
  except
    on E: Exception do
    begin
      Result := False;
      ShowException(E, ExceptAddr);
    end;
  end;

...no me gusta para NADA, aunque es MUCHO peor no poder ver las excepciones

Última edición por AgustinOrtu fecha: 15-09-2015 a las 03:07:24.
Responder Con Cita