Прерывания события печати отчёта (утечка памяти)
Задача: при печати отчёта проверить, разрешена ли печать на данном (выбранном) принтере.
Проблема: как таковой её нет, но есть утечка памяти.
Пример:
Проблема: как таковой её нет, но есть утечка памяти.
Пример:
type
TfmPrint = class(TForm)
frxReport: TfrxReport;
procedure frxReportPrintReport(Sender: TObject); // процедура для обработки события OnPrintReport
...
end;
implementation
procedure TfmPrint.frxReportPrintReport(Sender: TObject);
var
IsAccess: Boolean;
begin
... // как то проверяем принтер на разрешения.
if not IsAccess then
begin
... // выводим сообщение пользователю о том, что ему печать на этом принтере запрещена
Abort;
end;
... // когда всё ОК, то продолжаем дальше.
end;
Если при выполнении процедуры хоть раз вызвался Abort (принтер не прошёл проверку), то, после закрытия приложения, FastMM4 обнаруживает утечки памяти (см. файл к сообщению).
Комментарии
Вы печатаете методами отчета. следовательно и прерывать печать нужно методами того же отчета.
Вам нужно событие OnProgressStart:
P.S. Спасибо за разъяснения.