So, habs nu mit sehr viel Rumprobieren geschafft:
Das Problem ist ganz einfach, dass diese OnAddReports-Funktion nur ein einziges mal aufgerufen wird, die einzelnen Reporte aber erst _nach_ dem Durchlauf dieser Funktion wirklich hinzugefügt werden. Da ist es kein Wunder, wenn die Datasource immer die "letzte" ist...
Also habe ich das alles ein bisschen verlagert... Falls irgendjemand inder grossen Welt auch mal das Problem haben sollte, hier meine Lösung:
In der OnAddReports-Funktion wird der Report jetzt nur noch [z]-mal hinzugefügt, ohne Einfluss auf die Datasource zu nehmen.
Delphi-Quellcode:
for z := 0 to m_liste.Lines.Count-1 do
begin
cr_tba_rechn.Reports.Add(frm_tba_rechn.quickrep2);
end;
Die Variable aus dem Memo wird im OnFinished-Ereignis des CompositeReports "vergeben":
Delphi-Quellcode:
procedure Tfrm_tba_rechn_setzen.cr_tba_rechnFinished(Sender: TObject);
begin
if z_global <= m_liste.Lines.Count-1 then
begin
unit21.t_vorgang := m_liste.Lines.Strings[z_global];
//showmessage(inttostr(z_global) + ' - ' + m_liste.Lines.Strings[z_global]);
z_global := z_global + 1;
end;
end;
Die Datasource wird nun im BeforePrint-Ereignis des Quickrep2 mittels der "t_vorgang" zusammengesetzt.
So jetzt werd ich zur Feier des Tages erstmal
'en gehn
Nee, nich wirklich....
MfG
martoeng