Nach langer Suche dort angekommen
https://www.fast-report.com/en/blog/...view-mode-vcl/
mir ganz unten den vesteckten Hinweis im Gauge1OnContentChanged zu Herzen genommen
{frxReport1.}PreviewPages.Page[i].AllObjects
und nun kämpfe ich mich da mal durch.
Auf den ersten Blick passt es genau, zur Report-Vorschau im Post #7 (abgesehn vom TfrxNullBand)
Code:
--- 0 -------------------------------------------
TfrxNullBand
TfrxMasterData MasterData1
TfrxMemoView Memo2
TfrxMemoView Memo3
TfrxBarCodeView BarCode1
TfrxMemoView Memo4
TfrxMemoView Memo5
--- 1 -------------------------------------------
TfrxMasterData MasterData1
TfrxBarcode2DView Barcode2D1
--- 2 -------------------------------------------
TfrxMasterData MasterData1
TfrxMemoView Memo2
TfrxMemoView Memo3
TfrxBarCodeView BarCode1
TfrxMemoView Memo4
TfrxMemoView Memo5
--- 3 -------------------------------------------
TfrxMasterData MasterData1
TfrxBarcode2DView Barcode2D1
Weiter rein, sagen sämtliche Indexwerte rein garnichts und das DataSet ist auch immer NIL.
Code:
--- 0 -------------------------------------------
[nil] [nil]
TfrxNullBand
TfrxMasterData MasterData1
col 0
row 0
bnd 6
idx 0
grp 0
pg0 False
pg.idx 0
pg.grp 0
dsn WorkSql
ds [nil] [nil]
vds TfrxUserDataSet
TfrxMemoView Memo2
TfrxMemoView Memo3
TfrxBarCodeView BarCode1
TfrxMemoView Memo4
TfrxMemoView Memo5
--- 1 -------------------------------------------
[nil] [nil]
TfrxMasterData MasterData1
col 0
row 0
bnd 6
idx 0
grp 0
pg0 False
pg.idx 0
pg.grp 0
dsn WorkSql
ds [nil] [nil]
vds TfrxUserDataSet
TfrxBarcode2DView Barcode2D1
--- 2 -------------------------------------------
[nil] [nil]
TfrxMasterData MasterData1
col 0
row 0
bnd 6
idx 0
grp 0
pg0 False
pg.idx 0
pg.grp 0
dsn WorkSql
ds [nil] [nil]
vds TfrxUserDataSet
TfrxMemoView Memo2
TfrxMemoView Memo3
TfrxBarCodeView BarCode1
TfrxMemoView Memo4
TfrxMemoView Memo5
--- 3 -------------------------------------------
[nil] [nil]
TfrxMasterData MasterData1
col 0
row 0
bnd 6
idx 0
grp 0
pg0 False
pg.idx 0
pg.grp 0
dsn WorkSql
ds [nil] [nil]
vds TfrxUserDataSet
TfrxBarcode2DView Barcode2D1
Delphi-Quellcode:
for i := 0 to frxReport1.PreviewPages.Count - 1 do begin
OutputDebugString(PChar('--- ' + IntToStr(i) + ' -------------------------------------------'));
OutputDebugString(PChar(frxReport1.PreviewPages.Page[i].DataSet.SecureClassName + ' ' + frxReport1.PreviewPages.Page[i].DataSet.SecureName));
for P in frxReport1.PreviewPages.Page[i].AllObjects do begin
if TObject(P) is TComponent then
OutputDebugString(PChar(TObject(P).SecureClassName + ' ' + TComponent(P).SecureName))
else
OutputDebugString(PChar(TObject(P).SecureClassName));
if TObject(P) is TfrxMasterData then begin
OutputDebugString(PChar(' col ' + IntToStr(TfrxMasterData(P).Columns)));
OutputDebugString(PChar(' row ' + IntToStr(TfrxMasterData(P).RowCount)));
OutputDebugString(PChar(' bnd ' + IntToStr(TfrxMasterData(P).BandNumber)));
OutputDebugString(PChar(' idx ' + IntToStr(TfrxMasterData(P).IndexTag)));
OutputDebugString(PChar(' grp ' + IntToStr(TfrxMasterData(P).GroupIndex)));
OutputDebugString(PChar(' pg0 ' + BoolToStr(TfrxMasterData(P).Page = frxReport1.Pages[0], True)));
OutputDebugString(PChar(' pg.idx ' + IntToStr(TfrxMasterData(P).Page.IndexTag)));
OutputDebugString(PChar(' pg.grp ' + IntToStr(TfrxMasterData(P).Page.GroupIndex)));
OutputDebugString(PChar(' dsn ' + TfrxMasterData(P).DataSetName));
OutputDebugString(PChar(' ds ' + TfrxMasterData(P).DataSet.SecureClassName + ' ' + TfrxMasterData(P).DataSet.SecureName));
OutputDebugString(PChar(' vds ' + TfrxMasterData(P).VirtualDataSet.SecureClassName + ' ' + TfrxMasterData(P).VirtualDataSet.SecureName));
end;
end;
end;
Das "eine" Memo oder den QRCode könnte ich verwenden, aber welches soll ich da nehmen (kann ja nicht wissen, was auf dem Report drauf ist)
Das frxMasterData selber sagt bisher garnichts.
Im VirtualDataSet und der Page selber schau ich dann mal weiter.
Am Einfachsten mal den Hersteller fragen, warum TfrxMasterData kein TagStr hat und ob er es schnell einbauen kann ... dann wäre ich fertig.