Frxpictureview & Masterdata

отредактировано July 2014 Раздел: FastReport 4.0
Добрый день. Не могу победить проблему с дублированием картинок.

Есть DataSet, на основе которого строится отчет. В нем 2 текстовых поля, в которых записаны имена файлов с картинками. Например, F1 и F2 содержат следующее:
C:\11.jpg C:\21.jpg
C:\12.jpg
C:\13.jpg
т.е. второе поле в 2 и 3 записях пустые.

Далее, на бэнде MasterData, который связан с этим DataSet'ом, есть два компонента frxPictureView (picF1 и picF2), которые предназначены для отображения этих картинок.
У дата-бэнда обработчик BeforePrint, в котором пишу так

if <dsDetailMD."F1"> <> '' then
picF1.Picture.LoadFromFile(<dsDetailMD."F1">);
if <dsDetailMD."F2"> <> '' then
picF2.Picture.LoadFromFile(<dsDetailMD."F2">);

по идее вторая картинка picF2 во 2 и 3 строках должна быть пустой, на деле же в них отображается картинка из первой строки. И так до конца отчета. Пробовал перед проверкой содержимого поля добавлять picF1.Clear, picF2.Clear, но на результат это не влияет. Пробовал выносить обработку из BeforePrint бэнда в BeforePrint каждого компонента-картинки отдельно. Тоже без результата.
Можете что-то посоветовать? Спасибо.

Комментарии

  • отредактировано July 2014
    Всё правильно. Остаётся загруженной предыдущая картинка.
    надо поменять:
    if <dsDetailMD."F1"> <> '' then
        picF1.Picture.LoadFromFile(<dsDetailMD."F1">)
    else
        picF1.Picture := nil;
    if <dsDetailMD."F2"> <> '' then
        picF2.Picture.LoadFromFile(<dsDetailMD."F2">)
    else
        picF2.Picture := nil;
    
  • отредактировано 01:19
    Благодарю.

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

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