Error al cerrar documento desde un diálogo

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

Error al cerrar documento desde un diálogo

Notapor JosePadilla » Jue Mar 03, 2016 8:07 pm

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   Expandir vistaContraer vista
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
JosePadilla
 
Mensajes: 6
Registrado: Jue Mar 03, 2016 7:44 pm

Re: Error al cerrar documento desde un diálogo

Notapor mauricio » Jue Mar 03, 2016 8:26 pm

Cambia...
Código: Seleccionar todo   Expandir vistaContraer vista
    oDoc=ThisComponent.CurrentController.Frame

por...
Código: Seleccionar todo   Expandir vistaContraer vista
    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
Avatar de Usuario
mauricio
 
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Error al cerrar documento desde un diálogo

Notapor JosePadilla » Jue Mar 03, 2016 8:52 pm

Perfecto. Muchas gracias por tu pronta respuesta y por tu magnifico Manual.
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

Notapor mauricio » Jue Mar 03, 2016 8:57 pm

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
Avatar de Usuario
mauricio
 
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Error al cerrar documento desde un diálogo

Notapor JosePadilla » Jue Mar 03, 2016 9:13 pm

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   Expandir vistaContraer vista
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
JosePadilla
 
Mensajes: 6
Registrado: Jue Mar 03, 2016 7:44 pm

Re: Error al cerrar documento desde un diálogo

Notapor mauricio » Jue Mar 03, 2016 10:17 pm

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

Saludos
Adjuntos
Untitled 1.ods
(9.06 KiB) 90 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
mauricio
 
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Error al cerrar documento desde un diálogo

Notapor fornelasa » Jue Mar 03, 2016 11:28 pm

¿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
fornelasa
 
Mensajes: 3265
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

Notapor mauricio » Jue Mar 03, 2016 11:58 pm

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
Avatar de Usuario
mauricio
 
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Error al cerrar documento desde un diálogo

Notapor JosePadilla » Vie Mar 04, 2016 12:24 am

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

Notapor JosePadilla » Vie Mar 04, 2016 12:32 am

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
JosePadilla
 
Mensajes: 6
Registrado: Jue Mar 03, 2016 7:44 pm

Re: Error al cerrar documento desde un diálogo

Notapor mauricio » Vie Mar 04, 2016 1:36 am

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
mauricio
 
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Error al cerrar documento desde un diálogo

Notapor fornelasa » Vie Mar 04, 2016 6:14 pm

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
fornelasa
 
Mensajes: 3265
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

Notapor SLV-es » Vie Mar 04, 2016 8:56 pm

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
SLV-es
 
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España

Re: Error al cerrar documento desde un diálogo

Notapor mauricio » Vie Mar 04, 2016 9:10 pm

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
Avatar de Usuario
mauricio
 
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Error al cerrar documento desde un diálogo

Notapor JosePadilla » Sab Mar 05, 2016 12:24 am

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
JosePadilla
 
Mensajes: 6
Registrado: Jue Mar 03, 2016 7:44 pm


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados