Hola a todos
Tengo en una empresa varios ordenadores conectados a un servidor a través de Terminal Server.
Cada ordenador tiene una o varias impresoras locales y en mi programa tengo una configuración para seleccionar cada una según su función (etiquetas, partes de trabajo, documentos, etc.).
Al nombre de cada impresora le añado "xx redireccionado" (donde xx es el número de sesión) para que coincida con el nombre que aparece en la sesión de terminal server.
Haciendo un Alert(impresora) me da el nombre correcto, es decir la impresora con el xx redireccionado.
Esto me ha funcionado durante años sin mayor problema, pero sin saber a que es debido, ahora cuando hago una impresión me pide que seleccione la impresora y algunas de ellas ni siquiera me aparecen. Pero lo que es más grave es que cuando imprimen no respeta el tamaño de las etiquetas configurada en local.
Dejó de funcionar una mañana entre la impresión de una etiqueta y la siguiente media hora después, sin haber modificado mi programa ni haber actualizado nada del servidor (tengo deshabilitadas las actualizaciones automáticas)
Por lo que he podido ver, en el método NEW de TPrinter, la llamada a las funciones que deberian cambiar a la impresora correcta no están funcionando, he probado con SetDefaultPrinter() que he visto por ahí, pero no hay manera.
Alguna idea o como haceis para usar las impresoras locales en una sesión remota ?
Saludos