On 2012-05-12 13:07:18 -0300, Leonardo M. Ramé wrote: > Thanks Sven and Michalis. Using the suggestion by Michalis, I got a > solution mixing Generics and regular objects. > > What I'm pursuing is to replace my TCollection based ORM, with a > Generics based one, this allow users to write less code, in a clearer > way. > > The way the ORM works, is to create a TCollection instance, then execute > an ORM's method to load/save data into/from it, example: > > var > lCustomers: TCustomers; // this is a TCollection descendant > begin > lCustomers := TCustomers.Create; > FConnector.LoadData(lCustomers, []); > ... do something with lCustomers ... > lCustomers.Free; > end; > > As you can see, FConnector.LoadData receives a TCollection as parameter, > and using RTTI, it fills each TCustomer published property. > > With Michalis's solution, I can turn my ORM from TCollections to > Generics with very little changes, see how small is the unit customer > now, instead of a complete TCollection/TCollectionItem definition: >
Following the same subject, inside a method receiving an TFPSList, how can I know the type of items it will contain, even if the list is empty?. In a TCollection, I can use myCollection.ItemClass to know it, but in a specialized Generic type, how can I know, in an abstract way the type of a TFPGList<T>?. I mean, what type is T?. Regards, -- Leonardo M. Ramé http://leonardorame.blogspot.com -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
