Error al imprimir en vb6

Desde hace mucho que uso visual básic 6, y regularmente uso printer.print, es decir imprimo directo, pero bueno por alguna razón me vi en la necesidad de usar un datareport, y funciona muy bien, estuve usándolo por un buen tiempo, pero de repente tuve que cambiar de sistema operativo, y ahí empezaron los problemas, pues cada que compilaba y lo usaba al momento de imprimir siempre me mostraba este mensaje "el ancho del informe es mayor que el ancho del papel", me puse a investigar y encontré varias posibles soluciones y causas, pero la mayoría solo decía que había que colocar en ceros los márgenes Izquierdo y derecho en el datareport

.leftmargin=0
.rightmargin=0

Pero las cosas seguían igual, y en más de una ocasión al buscar ayuda en algunos foros o en Google me topaba con mi propia pregunta 🤓 aunque las respuestas no estaban del todo mal, pero a veces queremos una explicación más específica y bueno me tome la molestia de medir el ancho de mi ticket con una regla y resulta que el papel de 58mm NO es de ese tamaño sino de 56mm, es decir 5.6 cms. Y al imprimir directamente sin usar márgenes físicamente la impresora se lo asigna, y midiendo nuevamente me quita medio centímetro de cada lado, en total el ticket tiene un ancho de 46 mm, y si esos mm los traduzco a twips que es la medida que usa vb6 (aunque claro se pueden cambiar) y me arrojan 2721, uso ese ancho en el reportwidth y funciona! por lo tanto si tienes ese mismo problema, así puedes solucionarlo.



No hay comentarios

Con la tecnología de Blogger.