alberto-moyano   01-07-2021, 00:10
#1
Hola grupo, tengo la siguiente situación, varias funciones que utilizan una llamada a shell se ejecutan sin problemas, menos una, todas estas funciones si las ejecuto por consola, no dan ningún error, la única que que falla tiene como situación diferente al observarla que tarda más tiempo en terminar de ejecutarse (unos 2 minutos hasta que termina y genera el resultado), esto me lleva a suponer que por ahí pasa el problema, pero no lo sé con seguridad.

Este es código de 2 de las 5, el primero es que que falla.

Código:
Public Sub menuAscii3_Click()

  guardarARCHIVO()

  Dim orden As Process

  orden = Shell "asciidoctor" & " " & "-r" & " " & "asciidoctor-bibliography" & " " & ruta Wait

End

Public Sub menuAscii4_Click()

  guardarARCHIVO()

  Dim orden As Process

  orden = Shell "asciidoctor" & " " & "-b" & " " & "docbook" & " " & ruta Wait

End

Gracias de antemano por cualquier ayuda

Hago una ampliación al post anterior.

Asciidoctor es una gema de Ruby las lineas que siguen son opciones de uso dentro de la gema, por eso llevan indicado -b y a continuación va el nombre de la opción, mientras que asciidoctor-bibliography es otra gema, por eso se la llama con la opción -r.

Pero en consola todo funciona
Última modificación: 01-07-2021, 00:26 por alberto-moyano.
jguardon   01-07-2021, 00:39
#2
No lo he probado, pero así de repente, leyendo el manpage de asciidoctor parece que te falta indicar el parámetro -o para la ruta de salida.

Puede que no influya, pero es lo único raro que veo, aparte de tantas comillas y &. Se podría haber escrito así:

[code]

Prueba también con y sin Wait por si hay alguna diferencia, aparte de dejar congelado el GUI mientras dura el proceso.

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
alberto-moyano   01-07-2021, 00:43
#3
Hola, el -o es si queres cambiar la ruta de salida por default que es el mismo directorio donde está el archivo de origen, que no es mi caso.

El proceso no queda congelado, termina sin construir la salida y en el webview donde debe refejarse me tira el error de que no encontró el archivo x.html que debe generar.

Probé con Wait (con valores y sin valores) y sin Wait

Gracias
Última modificación: 01-07-2021, 00:46 por alberto-moyano.
tincho   01-07-2021, 12:50
#4
(01-07-2021, 00:10)alberto-moyano escribió: orden = Shell "asciidoctor" & " " & "-r" & " " & "asciidoctor-bibliography" & " " & ruta Wait

Hola Alberto, sugiero que no uses "unProceso = Shell el-comanto Wait" sino "Shell el-comanto Wait"

Código:
command = "asciidoctor -r asciidoctor-bibliography '" & ruta &"'"
Shell command wait
La comilla simple es por si en la ruta del archivo hay espacios o cosas por el estilo.
Saludos.

1 Saludo.
alberto-moyano   01-07-2021, 15:36
#5
Hola Tincho, no hay caso, paso dos capturas de pantalla, en una se ve que el comando lo hago por consola y obtengo el resultado y la consola queda liberada, en la otra imagen se observa el mensaje de error que tira el webview de no encontrar el archivo (porque la instrucción no lo construyo).

En este caso incluso utilizo bibtex que es más ligero que biblatex

Seguiremos leyendo a ver por donde viene el tiro.
Archivos adjuntos
Última modificación: 01-07-2021, 15:40 por alberto-moyano.
tincho   02-07-2021, 15:56
#6
Alberto, creo que el problema puede solucionarse si pasas la ruta completa del archivo no la relativa.
Por ejemplo:
Código:
    command = "asciidoctor -r asciidoctor-bibliography '/home/alberto/libro-completo.adoc'"
    Shell command wait

1 Saludo.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.