Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.856 Beiträge
 
Delphi 12 Athens
 
#4

AW: FastReports Problem mit dynamischer Höhe/Ausblenden

  Alt 29. Aug 2022, 21:49
Hallo,

habe eben versucht das von dir vorgeschlagene nachzuvollziehen, aber ohne Erfolg. Hier was ich gemacht habe:

1. Neues VCL Projekt, ein TfrxReport auf die Form und deinen Report geladen.
2. Button und Code zum vorbereiten/anzeigen hinzugefügt, was diese Unit ergibt:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, frxClass, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    frxReport1: TfrxReport;
    Button1: TButton;
    procedure frxReport1BeforePrint(Sender: TfrxReportComponent);
    procedure Button1Click(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  frxReport1.PrepareReport(true);
  frxReport1.ShowPreparedReport;
end;

procedure TForm1.frxReport1BeforePrint(Sender: TfrxReportComponent);
begin
  Memo2.Visible := False;
  Memo3.Top := Memo1.Height;
  ColumnFooter.Height := Memo1.Height + Memo3.Height;
end;

end.
Delphi kennt Memo2 usw. so nicht, da diese ja im Report sind und die BeforePrint
Umsetzung in der Form.

Ich habe dann mal versucht mittels Sender.FindObject('Memo2') usw. zu arbeiten, da bekomme
ich aber immer nil zurück.

Deinen Code muss ich mit meinen bisherigen, noch etwas beschränkten Fast Report Kenntnissen
so verstehen, als ob Memo2 usw. im Code der Unit bekannt sein müsste, aber woher?

Kommentiere ich den Inhalt vom BeforePrint aus, bekomme ich den Report ohne Änderungen
als Vorschau angezeigt.
  Mit Zitat antworten Zitat