0
Hola a todos. Necesito de vuestra ayuda.
Estoy usando AcuCobol GT 5.1 para Windows, y en algunos casos necesito interactuar con otros programas, para ser mas específico, con RAR.EXE (el conocido compresor), y con WSPOOLER.EXE (envia comandos a las impresoras fiscales Hasar).
La cosa es que bajo Windows XP o 7 todo funciona perfectamente, pero cuando intento ejecutar el mismo programa bajo Windows 8 no funciona.
La sentencia utilizada es CALL "C$SYSTEM" USING COMANDO, 96. (32 = oculto + 64 = usar el intérprete de comandos del sistema - cmd.exe).
donde COMANDO puede ser WSPOOLER -p3 etc. etc, o RAR.EXE etc. etc (no viene al caso indicar los parámetros de cada comando).
El tema es que cada uno de estos comandos genera respuestas, ya sea un archivo comprimido o un archivo con respuestas que luego debo analizar, pero (y aqui viene el problema) cuando esto ocurre bajo Windows 8, la ejecución no se detiene mientras el comando esta en proceso, al contrario, continúa con la sentencia siguiente, y claro, cuando quiero abrir los archivos de respuestas para ver que pasó, me encuentro con que no existen.
Probé con THREAD para invocar al comando y WAIT FOR THREAD, para obligar la detención del programa, sin éxito, con lo único que logré hacer que las cosas mas o menos funcionen es con CALL "C$SLEEP" USING TIEMPO, lo cual hace que el programa se detenga forzosamente un tiempo determinado, en lugar del tiempo estrictamente necesario.
Alguien sabe si hay alguna forma de hacer que el querido Windows 8 espere a la finalización de los programas externos antes de continuar con la ejecución de mi programa cobol?
Desde ya muchas gracias de antemano.
Marcadores