Hi Stefano, check http://root.cern.ch/root/roottalk/roottalk01/0904.html HTH. Regards. Valeriy argiro@to.infn.it wrote: > > > hi, > > could somebody explain to the ignorants (myself) > why the interpreted class timer (as in timer3.C below) does what I want > (prints "Timeout ! " > every 1 sec), > while the compiled class timer (as in timer2.C) does not ? (root v3.0) > > Thanks > Stefano > > ---------------------------------------------------------- > Stefano Argiro', Ph.D. > University of Turin, Experimental Physics Department > and INFN > via P. Giuria 1 > 10125 Torino > Italy > > tel +39-011-670-7334 > fax +39-011-669-1104 > > File timer3.C > ----------------------------------------------------------------- > // interpret it ! . > // .L timer3.C > // timer * t = new timer; > // prints "Timeout !" every second > > class timer { > private: > > TTimer *ftim; > > public: > > timer (){ > > ftim = new TTimer(1000); > ftim->Connect("Timeout","timer", this, "TimeOut()"); > > // gSystem->AddTimer(ftim); > // ftim->TurnOn(); > ftim->Start(); > } > > void TimeOut(){cout << "Timeout !"<<endl;} > > }; > > ------------------------------------------------------------------------ > File timer2.C > ------------------------------------------------------------------------ > > #include "TTimer.h" > #include "TROOT.h" > #include "TApplication.h" > #include "TSystem.h" > #include <iostream.h> > > /* Compile with > > gcc -I $ROOTSYS/include -L$ROOTSYS/lib -lCore \ > -lCint -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript \ > -lMatrix -lPhysics -lm -ldl -lpthread -rdynamic -lm -ldl -rdynamic > -lThread\ > -o prova timer2.C > > does nothing ! > > */ > > class timer { > private: > > TTimer *ftim; > > public: > > timer (){ > > ftim = new TTimer(1000); > ftim->Connect("Timeout","timer", this, "TimeOut()"); > > // gSystem->AddTimer(ftim); > // ftim->TurnOn(); > ftim->Start(); > } > > void TimeOut(){cout << "Timeout !"<<endl;} > > }; > > int main (int argc, char ** argv ){ > > TROOT r("p","q"); > TApplication *app = new TApplication("App", &argc, argv,NULL,0); > > cout << "creating and starting timer" <<endl; > > timer *t = new timer; > > gSystem->ProcessEvents(); > > app->Run(); > > > // while (1); > > return 1; > }
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:11 MET