Ich verwende immer ein TfrxUserDataset. Das finde ich flexibler, denn mit der hier geposteten Lösung, ist
...momentan noch namens Memo1
nicht mehr ohne Weiteres zu ändern. Will sagen: 'FindComponent' ist general keine gute Praxis, da man sich auf Namen verlassen muss, die an anderer Stelle jederzeit verändert werden können. Da reicht es schon, wenn ein Praktikant etwas Gutes tun möchte, und den Reportkomponenten aussagekräftige Namen spendiert.
Ich verwende generell TfrxUserDatasets, um ein (logisches) Objekt innerhalb des Reports abzubilden. So kann ich z.B. sehr elegant Lookups verbergen. Wenn ich z.B. ein Artikelobjekt habe, in dem nur die Artikel-ID abgelegt ist, jedoch im Report die Artikelbezeichnung benötigt wird, dann erstelle ich im 'Artikel'-Userdataset einfach ein Feld 'Artikelbezeichnung', und im OnGetValue-Event suche ich dann in meiner Artikeltabelle nach der Bezeichnung.