[RESUELTO] Ejecutar LibreOffice x64 desde C# .Net

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
jirayacr
Mensajes: 6
Registrado: Vie Ene 30, 2015 8:36 pm

[RESUELTO] Ejecutar LibreOffice x64 desde C# .Net

Mensaje por jirayacr »

Hola,

Estoy utilizando Windows 10 64-bit y desarrollo una aplicación C# .Net Framework 4.5, la aplicación tiene que ejecutarse en x64, por lo que, he instalado LibreOffice 5.2.3 x64 con su respectivo sdk.

Al iniciar la aplicación agrego la variable de entorno así:

Código: Seleccionar todo

string variableEntornoPATH = Entorno.GetEnvironmentVariable ("PATH");
Environment.SetEnvironmentVariable("PATH", variableEntornoPATH + ";C:\\Program Files\\LibreOffice 5\\program;");
Sin embargo, al ejecutar la aplicación me muestra el siguiente error:

La operación aritmética ha provocado un desbordamiento.
   Es Mapping_uno2cli (_uno_Mapping * mapping, Void ** ppOut, Void * pIn, _typelib_InterfaceTypeDescription * td)
   En com.sun.star.uno.Mapping.mapInterface (Mapping *, Void ** ppOut, Void * pInterface, Type * rType)
   En uno.util.to_cli <class com :: sun :: star :: uno :: XComponentContext> (Referencia <com :: sun :: star :: uno :: XComponentContext> * x)
   En uno.util.Bootstrap.bootstrap ()


El problema es que no hay ninguna información al respecto y lo único que encontré fue el código del método aquí:

Https://github.com/LibreOffice/core/blo ... ge.cxx#L96

Por lo que se puede ver en el código, me parece que hay problemas con las banderas de pre-compilación:

Código: Seleccionar todo

ptr= sri::GCHandle::ToIntPtr(sri::GCHandle::Alloc(cliI))
#ifdef _WIN32
                    .ToInt32();
#else /* defined(_WIN64) */                 .ToInt64();
#endif
Además, he realizado la misma prueba con las versiones 5.2.3, 5.2.5 y 5.3, pero todas me dan el mismo error.

Por otro lado, creo que es importante indicar que si lo ejecuto en x86 todo me funciona perfecto, claro usando el path "C:\\Program Files (x86)\\LibreOffice 5\\program", pero, por requerimiento del proyecto tiene que ser en x64. :(

¿Alguien tiene alguna solución?
Última edición por jirayacr el Lun Mar 13, 2017 6:12 pm, editado 3 veces en total.
LibreOffice 5.2 en Windows 10
jirayacr
Mensajes: 6
Registrado: Vie Ene 30, 2015 8:36 pm

Re: Ejecutar LibreOffice x64 desde C# .Net

Mensaje por jirayacr »

Buenas,

Ya la comunidad de Bugzilla me respondió y efectivamente hay un error en el código, supongo que en la próxima compilación se corrige.
Adjunto el link del issue:

https://bugs.documentfoundation.org/sho ... =94265#c13


Gracias,
Saludos.
LibreOffice 5.2 en Windows 10
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: [RESUELTO] Ejecutar LibreOffice x64 desde C# .Net

Mensaje por mauricio »

Mientras no entre como corrección, no esperes que salga publicada... ya dieron la solución, si te animas, puede ser tu primer pull que entre en LibreOffice...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Responder