Estoy tratando de comenzar a migrar los primeros informes de una aplicación hecha en clipper, que trabaja fundamentalmente con impresoras matriciales. Por lo que me he podido documentar en estos foros, la clase que mejor se adapta sería la TdosPrn, pero me encuentro con el inconveniente de cómo han sido elaborados esos listados en clipper. El 99% de ellos estan escritos con el comando "?" y "??" para el envío de datos a la impresora, por lo que me interesaría saber si existe alguna clase que soporte el envío a impresora mediante esos comandos.
Por otro lado, me gustaría saber si alguien ha conseguido resolver el problema de saber si una impresora conectada a un puerto LPTx está online. La función PrintReady() siempre devuelve .f. en todo caso, IsPrinter() siempre devuelve .t. y no encuentro manera ni función que hagan esto de forma fiable. Por lo que he leído, el problema está en que los sistemas basados en NT (XP en adelante), no permiten el acceso diréctamente a los puertos si no es a través de un driver de hardware o que la aplicación sea capaz de correr en modo "Kernel", en cuyo caso no tiene ninguna restricción para acceder a los puertos. Esto funciona así, por lo visto, por motivos de seguridad. http://logix4u.net/Legacy_Ports/Paralle ... NT/XP.html de ahí he sacado la información y ahí hay una DLL (32/64 bits) que permite el acceso directo a los puertos, con código fuente, ejemplos, etc. libre de uso para aplicaciones no comerciales. El problema está en que mis conocimientos para hacer uso de esa DLL o entender el código C, es prácticamente nulo. Resumiendo, mi pregunta es si hay alguna manera de resolver este incoveniente.
Pido disculpas si digo/pregunto alguna burrada pues soy bastante novato en todo esto.
Saludos!