> That is true in theory but (as I finally found out) not all objects > derived from TNamed are initialized with a name! TText for example has no > constructor with a name option but you can use the SetName/SetObject > method and this works! For me this seems to be a bug in root, then ( I haven't looked at it ). > > I have met this problem, too ( my private opinion follows ). > > All root related objects could be divided into two groups. One group > > containing all NAMED objects and the other one containing ANONYMOUS > > objects ( that is NOT derived from TNamed ). Unfortunately ( and that's my > > private opinion ) quite a lot of important classes, existing in root > > framework, appear ONLY in the ANONYMOUS group. I would like to propose, > > that ALL classes ( o.k. almost all ) exist in two "versions" one without > > Why two versions? Why would you want an object without a name (if you can > leave it empty)? Well, as I wrote, I like the concept of independent, loosely coupled "modules". I would use then ANONYMOUS objects inside of a module ( let's call them "local" objects ) and NAMED objects for all that should be accessed ( "found-able") from outside ( let's call them "global" objects ). My intention is to have "local" objects "NON-found-able" from outside of a "module" ( inside of a "module" one could use simple pointers to keep their addresses ), and to have "global" objects identified by their names. Often usage of NAMED objects with "empty" names/titles would probably lead to a significant degradation of performance ( or maybe not ), for example for many functions that "scan" subdirectories ... . > That's a nice idea! The interpreter makes it possible to have 'real' > persistent objects with code, not only data. Sounds like the old days of > lisp and smaltalk interpreters :-) BTW. Is there a plan to introduce "byte-compiling" into cint ? Would be nice to have it ( that's another extension that I propose ). Jacek.
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:26:19 MET