El manejador de eventos rompe Base

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
arfgh
Mensajes: 25
Registrado: Mar Mar 05, 2013 4:40 pm

El manejador de eventos rompe Base

Mensaje por arfgh »

tengo una problema gordo con un manejador de eventos que por algún motivo que desconozco hace que Base y OpenOffice fallen y se cierren completamente.
Primero creo el manejador de esta forma:

Código: Seleccionar todo

			listener = createUnoListener("Document_", "com.sun.star.document.XEventListener")
			ThisComponent.addEventListener(listener)
y después lo uso de esta otra forma

Código: Seleccionar todo

Sub Document_notifyEvent(event as object)
	print event.eventname
End Sub

Sub Document_disposing()
End Sub
Pues bien, ahora abro un formulario desde base, y a continuación abro otro desde el propio form abierto u otro desde base. Los tengo en modo ventana, por lo que la ventana más grande está inactiva y por detrás. Ahora presiono en el botón cerrar de la ventana inactiva, y gracias al 'print' podemos ver los eventos que van saltado y son por este orden:

OnPrepareViewClosing
OnPrepareUnload
OnViewClosed
OnUnload
...aquí la ventana es cerrada y desparece quedando en medio e inactiva la otra ventana de form...
OnUnFocus

...y es ahora cuando aparece una ventana que dice: Debido a un error imprevisto, OpenOffice ha fallado. Todos los archivos en los que estaba trabajando serán ahora salvados. La próxima vez que inicie OpenOffice, sus archivos serán recuperado automáticamente.
Esto que he descrito ocurre todas las veces sin excepción. Ahora bien, lo raro es que si antes de darle al botón cerrar de la ventana inactiva de fondo, presionamos una vez con el ratón en una zona en blanco del form y después en el botón de cerrar de la misma ventana, pasamos por todos los eventos pero el programa no se rompe, quedando tanto Base como la otra ventana de form abierta y todo fundionando.

Le he dado muchas vueltas y no consigo una solución.. no sé, tal vez esté usando el manejador de eventos mal ?
Estoy usando AOO en su última versión desde windows 8.1 x64 y Java 1.8.0_231

ayuda !
OpenOffice última versión | Windows XP X64 | Windows 8.1 X64 | Mageia Linux x64 | Java 1.8.0_231
Responder