Hi Dave, Thanks for reporting this problem with ShowStreamerInfo under NT. It is now fixed in the CVS source. Rene Brun On Mon, 25 Dec 2000, Dave Casper wrote: > > Hi, > > I have generated a root file using Root3.0, including the "+" after each of > my classes in the LinkDef.h files. > > I try to open the file in interactive root and use the ShowStreamerInfo() > method (as explained in the documentation for the new i/o features); I get > an access violation trying to read from address 0x00000000. > ShowStreamerInfo prints information for a couple classes before it crashes. > Without making a debug version of the root libraries (which I guess I could > do if I had to), it's not easy to tell exactly what the problem is. I have > tried it with and without loading the dll which is built for my custom > classes before calling ShowStreamerInfo, and it doesn't make any difference. > > I have tried using the other example in the documentation: > > gROOT->GetClass(...)->GetStreamerInfo(1)->ls() > > This appears to give a reasonable result for all my classes. > > A simplified view of what is written in the file is: > > TEvent (a tree with a single branch, which contains:) > Int_t runNumber > Int_t eventNumber > Double_t time > TEventData eventData > > TEventData is derived from TFolder and has no data members of its own, per > se. However the TList* data member it inherits from TFolder can contain a > number of other object types. ShowStreamerInfo prints a line for all of the > above, through TEventData and then crashes. GetStreamerInfo()->ls() for > TEvent and TEventData seem to be reasonable. > > As an unrelated aside, I also get a warning message: > > Warning in <TWinNTSystem::SetProgname>: Wrong Program path > > when I run root 3.0, unless I launch the program giving the full path name > and .exe extension on the command line. Normally, I set my PATH to point to > the directory (%ROOTSYS%\bin) where the root executable is. If I run the > program by typing the command "root", I get the above warning. If and only > if I run the program with the command: > > "c:\cern\myroot\Root3.0\root\bin\root.exe" > > (which is the full path), I do not get the above warning. It looks like > TWinNTSystem::SetProgname is supposed to handle the first case (implicit > path), but apparently something in the logic isn't working. I'm not sure > what difference, if any, having the wrong program path would have (i.e. if > the warning can be ignored). > > Thanks for any help, > > Dave > dcasper@uci.edu >
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:40 MET