Rating: No reviews yet
Downloads: 81
Change Set: 69432
Released: Mar 1, 2011
Updated: Mar 1, 2011 by gwatts
Dev status: Alpha Help Icon

Recommended Download

Application NetWrappers
application, 26085K, uploaded Mar 1, 2011 - 81 downloads

Release Notes

This is the second in the v2 series and is mostly a bug-fix release compared to ROOT.NET v2.0. If you are upgrading from v1x, please make sure to read the release notes - there are some breaking changes. Below are the changes relative to ROOT.NET v2.0.

Note that the download here works only against the optimized build of ROOT 5.28 found on the official ROOT download page!!

New Features

  • Correctly builds against the official VC10 release of ROOT 5.28!

Bug Fixes

  • The add-on library tool (so that one can add new ROOT.NET objects) has gotten a number of "small" fixes.
    • It was so unfriendly that its command line arguments were hardwired. Fixed, and added usage print out.
    • A number of small changes to make the regeneration process a "good citizen" in the VC2010 build... this has not been completely successful; but it is fairly smooth. See the tutorial.
  • Global variables, like TSystem::gSystem are usually fixed to by NTSystem. If the actual thing allocated is a sub-class and the wrapper is known, ROOT.NET will now load that wrapper (on Windows, for example, gSystem's type is now NTWinSystem).
  • More rational method of exploring the multi-inherritance chain - will now explore the full chain looking for a type that is known.
  • If we need a wrapper object that isn't loaded yet in the process space, attempt to load it. For example, simple program that reads a TH1F from a file, but libHistWrapper isn't loaded yet, the system will detect this and attempt to load libHistWrapper. It depends on libHistWrapper being in the PATH, however.
  • There are methods for which .NET demands a prototype, but which can't be implemented b.c C++ mehod resolution is not sane... throw a .NET exception when someone uses those rather than a C++ exception.
  • TChain::Process is also commented out to CINT, as a result my code didn't see it and so made it inaccessible to .NET. Added a kludge to deal with the situation. It is now visible.
  • class declared enums (i.e. an enum declared inside a class, like TBuffer::EMode) are now correctly translated.
  • TBuffer::Buffer will return a byte array now. It is declared "char*" so it had been returning a string, however that wasn't what it was at all, of course - as a "null" is totally acceptable in there. This is a special case - the ability to add other special cases like this should be pretty easy now.

Reviews for this release

No reviews yet for this release.