Код: Выделить всё
at System.Drawing.Printing.PrinterSettings.SetHdevmode(IntPtr hdevmode)
at System.Windows.Forms.PrintDialog.UpdatePrinterSettings(IntPtr hDevMode, IntPtr hDevNames, Int16 copies, Int32 flags, PrinterSettings settings, PageSettings pageSettings)
at System.Windows.Forms.PrintDialog.ShowPrintDialog(IntPtr hwndOwner, WndProc hookProcPtr, PRINTDLG data)
at System.Windows.Forms.PrintDialog.RunDialog(IntPtr hwndOwner)
at System.Windows.Forms.CommonDialog.ShowDialog(IWin32Window owner)
at MyNamespace.PrintManager.PrintDialog(ReportDocument reportDocument)
etc.
< /code>
Вот фрагмент кода, ведущий к вызову ... < /p>
PrintDialog pd = new System.Windows.Forms.PrintDialog();
pd.AllowSelection = false;
pd.AllowPrintToFile = false;
pd.AllowSomePages = false;
// Exception occurs on next line after "OK" is clicked on the dialogue box.
if (pd.ShowDialog(null) == DialogResult.OK)
{
// etc.
И даже незнакомец: если я копирую один и тот же фрагмент кода в начало приложения (для кода выше называется только тогда, когда пользователь нажимает на кнопку «Печать», и отчет создается для создания), не показывая диалоговое окно, тогда, когда он достигает этой точки, все в порядке! Не знаю, почему это исправлено сейчас, или почему это было проблемой для этого клиента (и нескольких других, которые сообщили о проблеме), но не для большинства других людей. Наш процесс не позволяет мне просто встать и надеяться на лучшее. < /p>
Кто -нибудь сталкивался с этим раньше? Есть ли что -то, что может привести к «забыть», что установлены принтеры (и назначенный принтер по умолчанию)? < /p>
Кодовая база огромна, я не могу отлаживать проблему в Visual Studio, и я не могу получить доступ к ПК клиента регулярно, поэтому я не могу просто изолировать, где все идет не так. < /p>
pdf995 установлен, и в генерирующих отчетах используется структура отчетов, если они, как известно, вызывают проблемы.>
Подробнее здесь: https://stackoverflow.com/questions/441 ... -weirdness