Перейти к содержанию
Fire Monkey от А до Я
  • 0

Ошибка при выводе на печать


giveaway

Вопрос

Создаю код для вывода на печать картинки из файла. Взял за основу рабочий пример. Вот мой, немного переделанный, код

void __fastcall TForm1::PrintImageh(TImage *ImageTmp) {
  TRectF SrcRect, DestRect;
  TPrinter *Printer = Printer;
 if(!Printer)
		  return;
  /* Set the default DPI for the printer. The SelectDPI routine defaults
         to the closest available resolution as reported by the driver. */
if(Printer->ActivePrinter->SelectDPI(1200, 1200)==false)   return;
  /* Set canvas filling style. */
 Printer->Canvas->Fill->Color = claBlack;
Printer->Canvas->Fill->Kind = TBrushKind(1);

  /* Start printing. */
  Printer->BeginDoc();
  /* Set the Source and Destination TRects. */
  SrcRect = ImageTmp->LocalRect;
  DestRect = TRectF(0, 0, Printer->PageWidth, Printer->PageHeight);

  /* Print the picture on all the surface of the page and all opaque. */
  Printer->Canvas->DrawBitmap(ImageTmp->Bitmap, SrcRect, DestRect, 1);
  /* Finish the printing job. */
  Printer->EndDoc();
}

Происходит вылет на строке if(Printer->ActivePrinter->SelectDPI(1200, 1200)==false) return;
Что может быть не так?

 

Изменено пользователем giveaway
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
1 час назад, giveaway сказал:

Происходит вылет на строке if(Printer->ActivePrinter->SelectDPI(1200, 1200)==false) return;

вылет с ошибкой? какой? или вылет по return ?

ActivePrinter   не  nil (null) ?

Ссылка на комментарий
  • 0
16 часов назад, slav_z сказал:

вылет с ошибкой? какой? или вылет по return ?

image.png.ef71cc6eea98368131bf56af0e9277e8.png

 

Почему-то при первом запуске (нажатии кнопки Печать) строка
if(!Printer)
          return;
возвращает null. Хотя принтеры на компьютере есть.

При втором нажатии код уже вдруг переходит к условию
if(Printer->ActivePrinter->SelectDPI(1200, 1200)==false) return;

И происходит вот такоей вылет:
image.thumb.png.93f0b4740004c807de2367be9ab6f6b6.png

Сама функция вот такая, если что:

image.thumb.png.e874482a8cf77c0b5fb63f3ed341ac18.png

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...