Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

При попытке создать объект класса TPrinter я получаю exception

Delphi , ОС и Железо , Принтеры и Печать

При попытке создать объект класса TPrinter я получаю exception

В создании обьекта класса TPrinter с использованием TPrinter.Create нет необходимости, так как обьект класса TPrinter (называемый Printer) автоматически создается при использовании модуля Printers.


uses
  Printers;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Printer.BeginDoc;
  Printer.Canvas.TextOut(100, 100, 
    'Delphi World is the biggest source code collection!');
  Printer.EndDoc;
end;

Here's the translation of the text into Russian:

Проблема здесь в том, что вы пытаетесь использовать объект Printer без объявления его сначала.

В Delphi, когда вы хотите печатать что-то с помощью встроенной функциональности печати, вам нужно объявить объект TPrinter и затем использовать его методы для начала, остановки и управления печатным заданием.

Вот обновленная версия вашего кода, которая должна работать:

uses
  Printers;

procedure TForm1.Button1Click(Sender: TObject);
var
  Printer: TPrinter;
begin
   // Объявляем объект TPrinter
  Printer := TPrinters.Create;

  try
     // Начинаем печатное задание
    Printer.BeginDoc;

     // Печатаем текст
    Printer.Canvas.TextOut(100, 100, 'Delphi World - это крупнейшая коллекция исходного кода!');

     // Завершаем печатное задание
    Printer.EndDoc;
  finally
     // Освобождаем объект printer, когда мы с ним закончили
    Printer.Free;
  end;
end;

В обновленной версии мы объявляем объект TPrinter под именем Printer, а затем используем его методы для начала, остановки и управления печатным заданием. Мы также освобождаем объект Printer в блоке finally, чтобы предотвратить утечки памяти.

Обратите внимание, что вам не нужно вызывать TPrinters.Create, если вы только печатаете из вашей основной формы. Печатающий объект автоматически создается, когда вы входите в диалог печати или кликаете на кнопку "Печать" в панели инструментов. Однако в этом примере мы создаем новое печатное задание программно, поэтому нам нужно объявить и освободить объект Printer вручную.

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

Попытка создания объекта класса TPrinter вызывает исключение из-за автоматического создания экземпляра класса TPrinter при использовании модуля Printers.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Принтеры и Печать ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-10 07:13:18
2024-05-19 16:48:07/0.010145902633667/2