Natürlich kann man einen leeren Report erstellen. Jedoch hilft dir das Template in diesen Fall nicht weiter, da es "nur" eine Vorlage für das Design vom Report ist, nicht aber die Datenbasis anzapft oder weiter gibt.
Ich hatte so ein ähnliches Problem, mir ging es aber hauptsächlich um die gemeinsame Nutzung von Reporten auf jedem Client PC. Dafür ich habe einfach eine Tabelle in der
DB (
MySQL) mit den notwendigen Feldern angelegt. Um die Datenbasis für diese Reporte festzulegen, lade ich auch den
SQL String aus der Tabelle in die
Query Komponente (MyDAC) rein. Ein Template nutze ich auch, da die Kopf.- und Fußzeile immer gleich aussehen soll. Irgendwann bin ich aber von dem
SQL String weggegangen und speichere jetzt nur noch den Namen der Abfrage von der
DB. War doch ein bisschen leichter zu verwalten.
So erstelle ich jetzt nur noch eine Abfrage in der
DB und der Kunde kann sich darüber einen neuen Report erstellen oder ändern, jedoch nichts an der Datenbasis.
So könnte ich mir auch die Lösung für dein Problem vorstellen. Tabelle in die
DB, wo die Datenbasis als Querynamen abgelegt wurde. Bei einem neuen Report kann man nun einen leeren Report mit der gewünschten Datenbasis erstellen. Den Report(stream) habe im Blob Feld ebenso abgelegt, wie das verwendete Template (auch als Stream). Somit brauche ich nur ein "Code" um den gewünschten Report wiederkehrend und von überall zu öffnen. Jetzt ist es ein leichtes einen neuen Datensatz anzulegen und somit einen neuen Report.
Die Designer Komponente benötigst du, wenn du in der RunTime den Report im Designer Modus öffnen möchtest (genaus sowas willst du ja machen). Die Chart, BarCode, Gradient usw. benötigst du nur, wenn du die Objekte im Report eingefügt hast. Sobald du den Report in der Runtime öffnen willst und die Komponenten fehlen, gibt es einen Fehler. Die Export Komponenten fügst du nur dann hinzu, wenn du genau diese Export Funktionen in der RunTime nutzen möchtest. Wenn z. B. die PDFExport Komponente abgelegt hast, wird in der RunTime im Preview vom Report der Button zum erstellen von PDF's sichtbar. Da du ja dem Kunden die Reporterstellung möglich machen möchtest, bist du gezwungen alle Komponenten in das Programm aufzunehmen.
Alle Funktionen rufst du über die
TfrxReport auf. Die Datenbasis lege ich in der
TfrxDBDataset fest, die mit
TfrxReport verknüpft ist.
Gruß
Matze