Hi Dmitriy, The following sequence: root [] .x nnn.C(1,2) root [] .x nnn.C(2,2) should give the same result "1", not 1,2 When you execute a script with .x nnn.C(..) cint will always reinterpret the file nnn.C If you want to increment a global variable, this variable should be defined externally, or alternatively, instead of using ".x nnn.C", you can do root > .L nnn.C then root > nnn(1,2); Rene Brun On Fri, 18 May 2001, Dmitriy Bandourine wrote: > > Hi ROOTers, > > I create the TButton object by > TButton *b = new TButton("Summary","gROOT->ProcessLine(\".x nnn.C(1,2)\");",0.1,0.8,0.3,0.9); > > and define in "nnn.C" script static variable "count": > > nnn.C(Int_t, Int_t) > { > static Int_t count = 0; > cout << "count =" << ++count << endl; > > [... omitted ...] > } > > Pressing on the button "b" I get "count = 0" (zero) everytime. > But when I call nnn.C from command line: > root [] .x nnn.C(1,2) > root [] .x nnn.C(2,2) > > I receive "1", "2" values for count. > > Why "count" does not work properly in first case (through the button)? > > > - Dmitriy - >
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:45 MET