Re: [ROOT] TSocket, TMessage, and "Error in <TClass::Load>"

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Thu Oct 05 2000 - 16:42:29 MEST


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