LibreOffice se Bloquea abierto VB6 y se abre en Windows

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

LibreOffice se Bloquea abierto VB6 y se abre en Windows

Notapor Satuple8288 » Sab Jun 22, 2019 6:41 pm

Buenas Tardes

Tengo libreOffice en 64 y 32 bits (Varios PCs) desde una aplicación hecha en Visual Basic 6 abro el LibreOficce y si después trato de abrir un documento desde Windows (8.1 o 7) no responde. Debo cerrar desde el Administrador de Tareas de Windows el LibreOffice para poder Abrir Documentos directamente de Windows. y sucede lo mismo si tengo abierto un Documento desde la Aplicación en Windows y trato de abrirla en el Aplicativo VB6 no responde. Debo cerrar desde el Administrador de Tareas de Windows el LibreOffice para poder Abrir Documentos desde la Aplicación hecha en VB6. sucede en versiones de LibreOffice desde las 5.... en adelante :crazy:

Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
Set oDesktop = oServiceManager.createInstance("com.sun.star.frame.Desktop")
Set Document = oDesktop.loadComponentFromURL(Ruta_SK, "_blank", 0, Array(MakePropertyValue("AsTemplate", True)))

donde MakePropertyValue es :

Public Function MakePropertyValue(cName, uValue) As Object
Dim ooStruct As Object, ooServiceManager As Object
On Error Resume Next
Set ooServiceManager = CreateObject("com.sun.star.ServiceManager")
Set ooStruct = ooServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
ooStruct.Name = cName
ooStruct.Value = uValue
Set MakePropertyValue = ooStruct
End Function

Gracias
libreoffice 6.2.4.2 / windows 8.1
Satuple8288
 
Mensajes: 3
Registrado: Sab Jun 22, 2019 6:20 pm

Re: LibreOffice se Bloquea abierto VB6 y se abre en Windows

Notapor mauricio » Lun Jun 24, 2019 2:22 pm

Es un comportamiento "normal", ya tienes una instancia abierta, pero un proceso no se comunica con el otro. Tiene muchos, muchos años que no uso Windows, pero en Linux, con usar otro perfil de usuario, puedo tener una instancia normal para el usuario, y otra para procesos automatizados. Observa atentamente la siguiente imagen, en el shell (la parte negra), arranco el LibreOffice con un perfil de usuario diferente, que tiene establecido el español como lenguaje de interfaz, puedes ver el documento abierto en la parte superior, y en la parte inferior, abro un documento de forma manual en el lenguaje predeterminado de mi sistema.

foro.png


Desconozco si al usar CreateObject puedes pasarle alguna variable de entorno, tendrás que investigarlo. Otra buena opción que se me ocurre, si quieres separar completamente tus procesos, es que uses una maquina virtual con Linux, dentro de el ejecutas LibreOffice como servicio y te conectas desde tu aplicativo, esto último lo tengo funcionando en varios proyectos.

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

Re: LibreOffice se Bloquea abierto VB6 y se abre en Windows

Notapor Satuple8288 » Lun Jun 24, 2019 4:04 pm

UFFFF.... que bien ambas opciones....
Las pruebo y podemos saber si está solucionado...
Hace mucho que no pruebo LINUX.. debe ser hora de volver...???

Muchas... Muchas gracias...
libreoffice 6.2.4.2 / windows 8.1
Satuple8288
 
Mensajes: 3
Registrado: Sab Jun 22, 2019 6:20 pm


Volver a Macros y API UNO

¿Quién está conectado?

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