Error al cerrar documento desde un diálogo

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
JosePadilla
Mensajes: 6
Registrado: Jue Mar 03, 2016 7:44 pm

Error al cerrar documento desde un diálogo

Mensaje por JosePadilla »

Hola a todos. Hace unos días actualize LibreOffice a la versión 5.0.5.2, ya que antes trabajaba con la versión estable 4, y ahora tengo problemas para cerrar un documento de Calc desde un cuadro de dialogo. Con la versión anterior iba perfecto pero con esta nueva versión me cierra todos los documentos que hay abiertos dando el error: SEH Exception: ACCES VIOLATION.

Al intentar buscar el problema en el archivo en cuestión opté por crear un nuevo archivo muy simple para desechar algún código erróneo. Y el problema persiste. El código es el siguiente

Código: Seleccionar todo

Dim Dialog1 As Object

Sub cargadialogo1

    DialogLibraries.LoadLibrary("Standard")
    Dialog1=createUnoDialog(DialogLibraries.Standard.Dialog1)
    Dialog1.execute()
    Dialog1.dispose()
End sub

Sub cerrardocumento

    Dim oDoc As Object
    Dialog1.EndExecute()
    oDoc=ThisComponent.CurrentController.Frame
    oDoc.close(True)

    End Sub
La macro es muy simple. Se carga el diálogo al abrir el documento. El diálogo tiene un solo el botón para cerrar el documento. Cuando pulso el botón ocurre el problema comentado anteriormente. Sin embargo si cierro el cuadro de dialogo con la x y luego cierro el documento sin grabar no me ocurre. Comentar que en la última versión de OpenOffice funciona perfectamente.

¿Alguien sabe solución al problema? ¿Es un problema de la última versión? .Gracias de antemano
LibreOffice 5.0.5.2 en Windows 10
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Error al cerrar documento desde un diálogo

Mensaje por mauricio »

Cambia...

Código: Seleccionar todo

    oDoc=ThisComponent.CurrentController.Frame
por...

Código: Seleccionar todo

    oDoc=ThisComponent
https://wiki.openoffice.org/wiki/ES/Man ... documentos

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
JosePadilla
Mensajes: 6
Registrado: Jue Mar 03, 2016 7:44 pm

Re: Error al cerrar documento desde un diálogo

Mensaje por JosePadilla »

Perfecto. Muchas gracias por tu pronta respuesta y por tu magnifico Manual.
LibreOffice 5.0.5.2 en Windows 10
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Error al cerrar documento desde un diálogo

Mensaje por mauricio »

Si consideras que la pregunta ha sido respondida, por favor, marca como resuelto el tema, gracias.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
JosePadilla
Mensajes: 6
Registrado: Jue Mar 03, 2016 7:44 pm

Re: Error al cerrar documento desde un diálogo

Mensaje por JosePadilla »

Bueno creo que me he anticipado. Probé tu solución, grabe los cambios y funcionó perfectamente la primera vez al cerrar el documento. Pero al volverlo abrir y ejcutar la macro de cerrar vuelve a ocurrir el mismo problema.
Lo que he hecho es:

Código: Seleccionar todo

Dim Dialog1 As Object

Sub cargadialogo1

    DialogLibraries.LoadLibrary("Standard")
    Dialog1=createUnoDialog(DialogLibraries.Standard.Dialog1)
    Dialog1.execute()
    Dialog1.dispose()
End sub

Sub cerrardocumento

    Dim oDoc As Object
    Dialog1.EndExecute()
    oDoc=ThisComponent
    oDoc.close(True)

    End Sub
¿Alguna Sugerencia? Gracias.
LibreOffice 5.0.5.2 en Windows 10
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Error al cerrar documento desde un diálogo

Mensaje por mauricio »

A mi me funciona correctamente... prueba con el archivo que anexo...

Saludos
Adjuntos
Untitled 1.ods
(9.06 KiB) Descargado 197 veces
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Error al cerrar documento desde un diálogo

Mensaje por fornelasa »

¿Es un problema de la última versión?
A mi me parece que si (al menos en Win).
Tal cual la macro de Jose, considero se trata de un Bug (LO 5.0.5.2) ya que en AOO funciona correctamente.
Tambien funciona bien en LO si no se le asigna al evento "Abrir Documento", pero si la macro "arranque" se asigna a dicho evento se produce el bug.

Saludos.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Error al cerrar documento desde un diálogo

Mensaje por mauricio »

Tal como comente nuestro amigo fornelasa, así sucede... pero... no me imagino en que escenario se abre un documento solo para cerrarlo... si nos das más detalles de que quieres hacer realmente, tal vez haya otras opciones...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
JosePadilla
Mensajes: 6
Registrado: Jue Mar 03, 2016 7:44 pm

Re: Error al cerrar documento desde un diálogo

Mensaje por JosePadilla »

Pues confirmo lo que apunta formelasa. Si el dialogo se ejecuta al abrir el documento ocurre el error. Si lo ejecutamos posterior no. Por lo menos se va acotando el problema.
En cuanto al fichero que me envias, Mauricio, ejecuto la macro para abrir el dialogo y me aparece el siguiente error:

Error de ejecución de BASIC.
Se ha producido una excepción
Type: com.sun.star.lang.WrappedTargetException
Message:
TargetException:
Type: com.sun.star.script.LibraryNotLoadedException
Message: .

A continuación cierro este cuadro de mensaje de error y vuelvo a ejecutar la macro de carga del dialogo y abre correctamente. Y al cerrar no hay mensaje de error. Examinando tu archivo veo que difiere del mio en que no tiene
DialogLibraries.LoadLibrary("Standard")
LibreOffice 5.0.5.2 en Windows 10
JosePadilla
Mensajes: 6
Registrado: Jue Mar 03, 2016 7:44 pm

Re: Error al cerrar documento desde un diálogo

Mensaje por JosePadilla »

Pues concretamente se trata de un documento que imprime etiquetas. Los datos se encuentran almacenados en una hoja del propio documento. Mediante el cuadro de dialogo elegimos la etiqueta que queremos imprimir. Una vez impresa la etiqueta desde ese dialogo cierro el dialogo y cierro el documento a la vez. No necesito grabar nada.
LibreOffice 5.0.5.2 en Windows 10
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Error al cerrar documento desde un diálogo

Mensaje por mauricio »

Prueba con el evento "Vista creada"...
Después de varias pruebas también falla...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Error al cerrar documento desde un diálogo

Mensaje por fornelasa »

Sugiero regreses a la versión previa de LO donde si funcionaba ..... digo, si es que es muy importante esta tarea.
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Error al cerrar documento desde un diálogo

Mensaje por SLV-es »

Por lo general no es recomendable utilizar en producción las versiones no calificadas como estables.
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Error al cerrar documento desde un diálogo

Mensaje por mauricio »

La versión 5.0.5 se supone, es estable...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
JosePadilla
Mensajes: 6
Registrado: Jue Mar 03, 2016 7:44 pm

Re: Error al cerrar documento desde un diálogo

Mensaje por JosePadilla »

Es cierto, se supone que esta versión es ya estable. Como solución momentánea puedo volver a la versión anterior o bien evitar lanzar el cuadro de diálogo al iniciar el documento. Pero es una pena que falle esta forma porque es una forma elegante, a mi parecer, de ejecutar una hoja de calculo convirtiéndola en "pseudoprograma". Ya me entendéis, con solo ventanitas.
Esperemos que la gente de LibreOffice corrija el problema si es efectivamente un bug. Muchas gracias a todos por vuestro interés.
LibreOffice 5.0.5.2 en Windows 10
Responder