Re: [ROOT] using signal/slots in compiled code

From: Valeriy Onuchin (onuchin@fnal.gov)
Date: Wed Mar 07 2001 - 20:11:23 MET


Colin Bernet wrote:

>
> Hi,
>
> I just wrote a small gui using the signal/slot communications mechanism.
> It works fine, except the signals are not caught by the slots when I use
> the stand alone version.
> If I load my class as a macro, the communications work.
>
> Did I miss something ? I'm using root 3.00/05
>
> Thanks,
>
> Colin
>

Hi Colin,
check my previuos message posted today:
http://root.cern.ch/root/roottalk/roottalk01/0893.html

Try "guitest.C" example as executable program:

 -  add a single line "gSystem->Load("guitest_C")" to the "main program" of
   $ROOTSYS/tutorials/guitest.C

it should be

//---- Main program ------------------------------------------------------------
#ifdef STANDALONE
TROOT root("GUI", "GUI test environement");


int main(int argc, char **argv)
{
   TApplication theApp("App", &argc, argv);

   if (gROOT->IsBatch()) {
      fprintf(stderr, "%s: cannot run in batch mode\n", argv[0]);
      return 1;
   }
   gSystem->Load("guitest_C");
   guitest();

   theApp.Run();

   return 0;
}
#endif

 - compile guitest as standalone executable program

 $ root -b -q >/dev/null tmp.C | echo '{gSystem->Load("libGui");gSystem->CompileMacro("guitest.C","kf");}' >tmp.C
 $ g++ -o guitest guitest.C `root-config --cflags --glibs` -DSTANDALONE

 - run it

 $./guitest&


HTH.    Regards.    Valeriy



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:39 MET