Hallo zusammen,
mich würde interessieren, ob es entscheidende Vor-/Nachteile zwischen einer virtuellen Tabelle (z.B. TJvMemoryData) oder TObjectList gibt.
Auf die virtuellen Tabellen bin ich gestoßen, weil ich die Daten der aktuelle bestehenden TObjectList(en) in QuickReport ausgeben muss. Der einfachste Weg schien mir, die TObjectList in eine TJvMemoryData zu speichern. Die wird dann von den TSubDetail-Bändern genau gleich behandelt wie die normalen Datenbank-Tabellen.
Warum ich überhaupt TObjectList verwende?
Weil die Datenstruktur der gegebenen Datenbank grauenhaft ist und ein Umstellung ist aufgrund Datenintegrität nahezu unmöglich. Von daher haben wir ein Klassenbaum aufgebaut, der die Daten verwaltet. Nur beim Einlesen und der Ausgabe müssen wir uns mit der
DB beschäftigen. Hat auch den Vorteil, dass wir von der
DB unabhängig sind wenn die Daten mal eingelsen sind. Ein Test läuft also auch dann weiter, wenn sich die
DB mal abhängt.
Bisher habe ich nie virtuelle Tabellen eingesetzt. Deshalb die Frage, welche Probleme zu erwarten sind. Oder gibt es bessere Alternativen als TJvMemoryData.
In einem neueren Projekt könnte ich auch auf TUniDac zurückgreifen. Das wird in diesem Projekt aber nicht eingesetzt. Falls deren TVirtualTable aber erheblich Vorteile bietet, könnte man darüber nachdenken, UniDac zu verwenden.
Was mich ein bisschen stört, ist dass die Daten jetzt zweifach vorhanden sind. Immer in der TObjectList und beim Drucken auch noch in JvMemoryData.
Das ganze Projekt ist noch Delphi XE
Grüße und Danke für Feedbacks
Gerd