В итоге я создал две таблицы одновременно, вертикальную и горизонтальную, по умолчанию горизонтальную. Затем при изменении размера окна, если контейнер таблицы шире, чем его контейнер, я бы скрыл горизонталь и отобразил вертикаль.
Это позволило изменить размер горизонтали и обернуть содержимое ячейки до тех пор, пока оно не переместится.
Не прямое решение, но это может помочь решить проблему. Первая вещь, которую я делаю с этим видом проблемы, получают точную версию драйвера от клиента, и затем загружают драйвер и устанавливают его на моем ПК, с помощью LPT1. Я могу затем распечатать против него для тестирования и решить любые вопросы с драйвером. Очевидно, я не могу на самом деле распечатать, но это обычно не проблема. Используя виртуальную машину помогает много также.
Не решение, а подсказка для сокращения поверхности ошибки: Установка (или сделали, чтобы пользователь установил), виртуальный принтер в той системе и попытке распечатать к той. Свободное (и как в пиве, и как в свободе) виртуальный принтер PDF идет с превосходным PDFCreator. Это определенно поддерживает ориентацию страницы. Это даст Вам известную хорошую базовую линию, против которой можно протестировать.
Вы говорите, что небольшой процент пользователей сообщает о проблемах. У Вас есть какая-либо идея, каково различие между ними и другими пользователями?
В думают о:
У пользователей есть проблемы печати с другими приложениями?
Это была бы большая справка, если Вы могли бы воспроизвести проблему.
У меня есть клиент с тем, что походит на то же (или по крайней мере подобное) проблема. Строка кода, где мы выбрали "Принтер, не является действительным" сообщением, немного отличается (в быстрой библиотеке отчетов), но это - так же вызов к GetDeviceCaps
.
В то время как мы должны все же найти действительное решение, мы нашли обходное решение. Если пользователь посещает диалоговое окно "Настройки принтера" прежде, чем попытаться распечатать отчет, ошибка не появляется.
Имейте Вас, взглянул на эти сайты, которые я нашел с некоторой справкой от Google:
http://www.delphipages.com/threads/thread.cfm?ID=19871&G=19828
Вы, возможно, должны настроить printer.pas Дельфи - существует несколько ошибок в реализации принтера, по крайней мере, с более старыми версиями Дельфи, например, если имя UNC сетевого принтера является слишком длинным, Дельфи может отказать.