Не эспортирует в Pdf и в картинку

отредактировано July 2007 Раздел: FastReport 4.0
Доброго дня!
В рантайме создаю отчет, и пытаюсь его экспортировать вылетает вот эта ошибка - Canvas doesnt Allow drawing.
В хтмл, ртф конвертит нормально. С чем это может быть связано? И как с этим бороться?

Вылетает из-за того, что

unit frxRich;
....

function TfrxRichView.CreateMetafile: TMetafile;
....
PrinterHandle := frxPrinters.Printer.Canvas.Handle

дает exception

Комментарии

  • SamuraySamuray Administrator
    отредактировано 08:19
    Скорее всего банальная нехватка памяти при экспорте. Попробуйте увеличить файл подкачки и использовать опции TfrxReport.EngineOptions.UseFileCache := True; TfrxPDFExport.UseFileCache := True;
  • отредактировано 08:19
    Попробовал с UseFileCache := True; все осталось по прежнему.

    Чтоб как то работало сделал вот такую штуку:

    function TfrxRichView.CreateMetafile: TMetafile;
    var
    Range: TFormatRange;
    EMFCanvas: TMetafileCanvas;
    PrinterHandle: THandle;
    begin
    if UsePrinterCanvas then
    try
    PrinterHandle := frxPrinters.Printer.Canvas.Handle
    except
    PrinterHandle := GetDC(0);
    end

    else
    PrinterHandle := GetDC(0);

    Вроде работает, файлы создаются. Но все равно мне это не нравится.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.