Мое приложение отправляет файл печати на другой сетевой принтер - PullRequest
1 голос
/ 04 июня 2019

Проблема возникает только на двух компьютерах в сети. Первый - это сервер базы данных, а другой - клиент. Оба работают с одним и тем же приложением. Сервер печатает заметки на своем собственном принтере с «барными» продуктами, а клиент - с «кухонными» продуктами. Заметки печатаются автоматически с таймером на 30 сек. Иногда файлы, которые печатаются на принтере, отправляются на кухню и печатаются на принтере сервера. Оба принтера по умолчанию. К ним не подключены другие принтеры. Это происходит в течение нескольких дней (5-6) и продолжается до полного перезагрузка системы. При печати вручную заметка переходит к выбранному по умолчанию принтеру. Принтеры подключаются через USB-кабель. Это разные модели и используются разные драйверы. Имена не совпадают.

Позвольте Windows управлять моим принтером по умолчанию выключен. Выключите общий доступ к файлам и принтерам. Оба принтера не являются общими.

 RichEdit1.Lines.SaveToFile (FileName);    
 Printer.PrinterIndex:=-1;    
 RichEdit1.Print (FileName);    
 sleep(1000);    

Мне просто нужен каждый компьютер и приложение на нем, чтобы распечатать на своем собственном принтере, когда это по умолчанию

1 Ответ

2 голосов
/ 04 июня 2019

Просто добавьте Printer.Refresh в начале вашего кода, чтобы список принтеров перезагружался перед их использованием. Похоже, они меняются после запуска вашего приложения (это случалось со мной несколько раз, особенно с сетевыми принтерами, которые могут пунктуально терять соединение).

 Printer.Refresh;

 RichEdit1.Lines.SaveToFile (FileName);    
 Printer.PrinterIndex:=-1;    
 RichEdit1.Print (FileName);    
 Sleep(1000);    
...