Wie kann ich ein Dataset von In-Memory-Objekten erhalten?

8

Kennt irgendjemand einen TDataset-Nachfolger, der mit Generics und RTTI arbeitet, so dass ich Code wie diesen schreiben kann und Daten-bewusste Komponenten in der GUI verwenden kann? :

%Vor%

Dies sollte möglich sein. Die Felddefinitionen können über RTTI erstellt werden, da die genaue Art der Daten bekannt ist. Werte können auch automatisch vor- und zurückmarschiert werden, sodass Sie Daten anzeigen und bearbeiten können, die sich in einer Klasse oder einem Datensatz befinden.

Ich hasse es, viel nutzlosen Marshalling-Code schreiben zu müssen, während die dafür notwendigen Informationen bereits über RTTI verfügbar sind.

Oder vielleicht hat jemand einmal eine Art von TEnumerable & lt; - & gt; TDataset-Adapter?

Gibt es so etwas, oder sollte ich anfangen, eins zu schreiben?

...

Das nächste, was ich finden konnte, ist ein (ausgezeichnet!) Beispiel von Marco Cantu aus Mastering Delphi 7, aber der Code selbst nutzt keine neuen Sprachfunktionen wie Generika, das neue RTTI-System oder Attribute, und es funktioniert nicht mit Unicode Delphi. TDataset hat sich seit D7 ebenfalls geändert.

    
Wouter van Nifterick 02.03.2012, 13:02
quelle

5 Antworten

4

Das TAureliusDataSet, das in TMS Aurelius enthalten ist, kommt dem sehr nahe.

    
Uwe Raabe 02.03.2012, 13:56
quelle
2

Sehen Sie sich den EverClassy-Datensatz von Inovativa unter www.inovativa.com an. com.br/public .

    
AlexSC 08.03.2013 18:35
quelle
1

ein anderer ist Snap Object Dataset Ссылка

    
vavan 01.11.2013 08:24
quelle
1

DotNet4Delphi von A-Dato Scheduling Technology aus den Niederlanden ist gut für Sie.

Zitate:

Aus Torrys Delphi

  

Verknüpfen Sie eine Sammlung mit Ihren datensensitiven Steuerelementen .

     

DotNet4Delphi implementiert viele .Net-Auflistungsklassen, einschließlich    generische Typen wie List & lt; & gt; und Wörterbuch & lt; & gt ;. Anders als ihre   Delphi-Gegenstück ist, dass unsere generischen Sammlungen auch das implementieren   nicht-generische Schnittstellen (IList, IDictionary), auf die Sie zugreifen können   Ihre Sammlungen auf verschiedene Arten. Dies öffnet die Tür, um irgendwelche zu benutzen   Sammlung als Datenquelle für datensensitive Steuerelemente, die genau ist   was die (ebenfalls enthaltene) TListDataset-Komponente bietet.

Es zielt auf Delphi XE und XE2 ab.

Es ist eine Open-Source-Initiative, Delphi rockt !!!

    
menjaraz 09.04.2012 11:03
quelle
1

Ich habe eine relevantere Ressource gefunden und kann sie nicht teilen! So relevant, dass ich glaube, dass es in meiner ersten Antwort einen separaten Beitrag und nicht nur eine Aktualisierung verdient.

Die Dduce -Bibliothek für Delphi XE2-XE6 verwendet TListDataSet<...> eine generische Dataset-Komponente Dies kann verwendet werden, um eine generische Liste als TDataSet verfügbar zu machen.

Die relevantesten Einheiten für die Implementierung des generischen Datasets sind:

Klassenhierarchie:

  

TDataSet & lt; = TCustomVirtualDataset & lt; = TListDataset & lt; = TListDataset & lt; T & gt;

Ja, es erbt viele Features ... mein einziger Wunsch ist es, eine Version zu haben, die mit einer geringeren Anforderung arbeitet (Delphi XE ohne die meisten anderen Schnickschnacks).

Aussehen und Verhalten:

    
menjaraz 24.01.2015 13:05
quelle