Autor Beitrag
NOS1971
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 193

Windows 8.1 PRO 64 Bit
Delphi XE7 Professional
BeitragVerfasst: Di 17.03.15 22:02 
Hallo zusammen,

ich versuche manuell einen Report zu erzeugen ... hierfür lade ich einen bereits erzeugten Report, rufe PrepareReport auf und füge in einer Schleife eine Anzahl Pages, darauf ReportTitles und darauf MemoViews hinzu ... danach rufe ich das PreparePage für diese Seite auf .... in der OnNewGetValue werden auch die entsprechenden Daten abgefragt und übergeben ... am Ende folgt noch ein ShowPreparedReport ...

Leider sind die Daten nicht vorhanden ... die Anzahl der Pages Stimmt in der Preview aber mehr ist nicht zu sehen als ein weisses Blatt ... woran kann das liegen ? Ich würde mich freuen wenn Ihr mir hier weiterhelfen könntet.

Anbei mal mein Codeauszug:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
 PDFReport.Clear;
 PDFReport.LoadFromFile('E:\PDFReport-Basic.fr3',true);
 PDFReport.PrepareReport;
 PDFReport.PreviewOptions.ThumbnailVisible := true;
 PDFReport.PreviewOptions.ZoomMode := zmPageWidth;
 if Language = lGerman then
  CurrentReportTopicNode := GermanLanguageNode.getFirstChild;
 if Language = lEnglish then
  CurrentReportTopicNode := EnglishLanguageNode.getFirstChild;
 while CurrentReportTopicNode <> nil do
 begin
  if (CurrentReportTopicNode <> GermanTOCNode) and (CurrentReportTopicNode <> EnglishTOCNode) then
  begin
   if Assigned(CurrentReportTopicNode.Data) then
    if THelpTopic(CurrentReportTopicNode.Data).FTopicLanguageID = Language then
    begin
     if CurrentReportTopicNode.HasChildren then
     begin
      // page
      NewTopicPage := TfrxReportPage.Create(PDFReport);
      NewTopicPage.CreateUniqueName;
      NewTopicPage.SetDefaults;
      NewTopicPage.Visible := true;
      NewTopicPage.PrintIfEmpty := true;
      ReportTitle := TfrxReportTitle.Create(NewTopicPage);
      ReportTitle.CreateUniqueName;
      ReportTitle.Top := 0;
      TopicName := TfrxMemoView.Create(ReportTitle);
      TopicName.CreateUniqueName;
      TopicName.Text := '[TopicName]';
      TopicName.Top := 100;
      TopicName.Left := 10;
      TopicName.Visible := true;
      TopicDescription := TfrxMemoView.Create(ReportTitle);
      TopicDescription.CreateUniqueName;
      TopicDescription.Text := '[TopicDescription]';
      TopicDescription.Top := 200;
      TopicDescription.Left := 10;
      TopicDescription.Visible := true;
      PDFReport.PreparePage(NewTopicPage);
     end
     else
     begin
      NewTopicPage := TfrxReportPage.Create(PDFReport);
      NewTopicPage.CreateUniqueName;
      NewTopicPage.SetDefaults;
      NewTopicPage.Visible := true;
      NewTopicPage.PrintIfEmpty := true;
      ReportTitle := TfrxReportTitle.Create(NewTopicPage);
      ReportTitle.CreateUniqueName;
      ReportTitle.Top := 0;
      TopicName := TfrxMemoView.Create(ReportTitle);
      TopicName.CreateUniqueName;
      TopicName.Text := '[TopicName]';
      TopicName.Top := 100;
      TopicName.Left := 10;
      TopicName.Visible := true;
      TopicDescription := TfrxMemoView.Create(ReportTitle);
      TopicDescription.CreateUniqueName;
      TopicDescription.Text := '[TopicDescription]';
      TopicDescription.Top := 200;
      TopicDescription.Left := 10;
      TopicDescription.Visible := true;
      PDFReport.PreparePage(NewTopicPage);
     end;
    end;
   end;
  CurrentReportTopicNode := CurrentReportTopicNode.getNextSibling;
 end;
 CurrentReportTopicNode := nil;
 PDFReport.ShowPreparedReport;