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