Engine.finalpass

отредактировано 16:43 Раздел: FastReport 4.0
всем здравствуйте.
работаю в FR 4.3.68
отчет формируется в два прохода.
если в обработчике Memo1OnBeforePrint написать
procedure Memo1OnBeforePrint(Sender: TfrxComponent);
begin
  
  if   Engine.FinalPass then
  begin              
    Memo1.DisplayFormat.Kind := fkNumeric;
    Memo1.DisplayFormat.FormatStr := '%2.'+ IntToStr(2)+'f';
    Memo1.DisplayFormat.DecimalSeparator := ',';   
    Memo1.Text := FloatToStr(123);
  end;
end;

то информация выводиться будет в Memo1.
А вот если в обработчике написать
procedure Memo1OnBeforePrint(Sender: TfrxComponent);
begin
  
  if  not  Engine.FinalPass then    
  begin              
    Memo1.DisplayFormat.Kind := fkNumeric;
    Memo1.DisplayFormat.FormatStr := '%2.'+ IntToStr(2)+'f';
    Memo1.DisplayFormat.DecimalSeparator := ',';   
    Memo1.Text := FloatToStr(123);
  end;
end;

то информация в Memo1 выводиться НЕ будет .
добавляю строку ShowMessage(Memo1.Text); в
.......................
  if  not  Engine.FinalPass then    
  begin              
    ...................
    ShowMessage(Memo1.Text); 
  end;
......

Появляется три раза (потому что в MasterData1.RowCount = 3) сообщение с надписью '123', а Memo1 все равно пустой((

Почему так происходит? Почему в Memo1 не запоминается значение?? (шаблон прилагаю)

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

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