Delphi не распознает наличие нескольких принтеров - PullRequest
1 голос
/ 12 апреля 2011

У меня возникла странная проблема.

Моя программа разработана с использованием Delphi7.На компьютере клиента, работающем под управлением Windows 7, 64-разрядная версия Printer.Printers.Count возвращает 0, даже если установлено несколько принтеров.

MS Word печатает без проблем и возвращает правильный список принтеров.

По-видимому, раньше он работал на том же компьютере, а затем перестал работать в прошлом.

Были проблемы со спулером, и недавно были установлены сетевые принтеры.

Конечно, это может вызвать проблему, но все равно не объясняет, почему Word видит принтеры, а Delphi нет.

Есть идеи?

Спасибо!


Редактировать: Запуск программы с повышенными привилегиями решил проблему.Дело доходит до Мартина.Спасибо!

Ответы [ 2 ]

4 голосов
/ 12 апреля 2011

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

Или наоборот (принтеры, установленные как администратор, недоступны для программ, работающих с ограниченными правами учетной записи).

Так что я думаю, что это относится к http://superuser.com.

4 голосов
/ 12 апреля 2011

TPrinter. Принтеры используют функцию внешних окон EnumPrinters .если есть проблема должна быть с хост-машиной !!
Вы можете протестировать свое приложение на машине с той же ОС "Windows 7 64bit", и если оно работает без проблем, вы можете быть уверены, что проблема не в вашем Delphi-коде.

...