Delphi TPrinter и ошибка 217


5 принят

Когда вы запускаете этот код:

Printer

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

Документация Printerфункции:

Возвращает глобальный экземпляр TPrinter для управления взаимодействием с принтером.

Принтер создает экземпляр глобального объекта TPrinter при первом вызове. Используйте функцию «Принтер» для печати с использованием объекта TPrinter.

Примечание. Глобальный объект TPrinter автоматически освобождается при отключении приложения. После вызова SetPrinter возвращенный принтер не будет автоматически освобожден. Ответственность вызывающего абонента либо освобождает возвращаемое значение, либо заменяет его другим вызовом SetPrinter и освобождает заменяющий принтер, который возвращает второй вызов SetPrinter.

Дельфы, печать, во время выполнения ошибок,

delphi,printing,runtime-error,

1

Ответов: 1


5 принят

Когда вы запускаете этот код:

Printer

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

Документация Printerфункции:

Возвращает глобальный экземпляр TPrinter для управления взаимодействием с принтером.

Принтер создает экземпляр глобального объекта TPrinter при первом вызове. Используйте функцию «Принтер» для печати с использованием объекта TPrinter.

Примечание. Глобальный объект TPrinter автоматически освобождается при отключении приложения. После вызова SetPrinter возвращенный принтер не будет автоматически освобожден. Ответственность вызывающего абонента либо освобождает возвращаемое значение, либо заменяет его другим вызовом SetPrinter и освобождает заменяющий принтер, который возвращает второй вызов SetPrinter.

Дельфы, печать, во время выполнения ошибок,
Похожие вопросы