Hi Paul, try the following: int main(int argc, char **argv) { TROOT eServer("eServer","Test Event Server"); char *argptr; Event dummy; .... sock->Recv(mess);// this was the line that errors Event *event=NULL; event = (Event *)mess->ReadObject(mess->GetClass()); i.e.create TROOT in main program. It might be a problem with the order in which the libs are loaded. If they are loaded after TROOT is created they are not initialized. Cheers, Fons. "Paul M. Eugenio" wrote: > > Hello, > > I have a program which utilizes TSocket's and TMessage's to send > Event objects to other processes. In one program, I have it receiving > Events from a source and then sending them to clients. This works fine if > this program calls Event->Print(); but if not it gives the error: > Error in <TClass::Load>: dictionary of class Event not found > > So some how the dictionary is not getting initialized. A kludge that I now use is > to instantiate a Event that never gets used: > > TROOT eServer("eServer","Test Event Server"); > int main(int argc, char **argv) > { > > char *argptr; > Event dummy; > .... > sock->Recv(mess);// this was the line that errors > Event *event=NULL; > event = (Event *)mess->ReadObject(mess->GetClass()); > > I am guessing that there is a better or proper way of fixing this. Any insight > would be appreciated. Thanks. > > Paul > > -- > -- > Paul M. Eugenio > Dept. of Physics > Carnegie Mellon University > (412) 268 6949 > eugenio@ernest.phys.cmu.edu -- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7677910
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:34 MET