RE: reloading files

From: Philippe Canal <pcanal_at_fnal.gov>
Date: Fri, 18 Nov 2005 12:32:30 -0600


Hi Roger,

Instead of forcing the full reload of everything (gROOT->Reset() and the fact that you might be including the other macro within the Gui.C), you should just try to do it by smaller chunk:

root [] .L fitFunction.C
root [] .L MySpectrum.C
root [] .L WriteParams.C
root [] .L ReadParams.C
root [] .L Gui.C

...

root [] .L Gui.C

Also you may want to compiler your gui code (.L Gui.C+).

If none of those helps, please provide me with a complete example with which I can reproduce your problem.

Cheers,
Philippe.

-----Original Message-----
From: owner-roottalk_at_pcroot.cern.ch [mailto:owner-roottalk_at_pcroot.cern.ch] On Behalf Of Roger Mason
Sent: Thursday, November 17, 2005 5:10 PM To: root mailing list
Subject: [ROOT] reloading files

Hello,

I have a file tmp.C that loads another file Gui.C via:

gROOT->Reset();
gROOT->ProcessLine(".L Gui.C"); // Setup gui

When I begin a fresh root session the commands:

root [0] .x tmp.C
.x tmp.C

root [1] gui();
gui();

do as expected - the gui opens and responds to the (only!) button it contains, which closes it.

If I then do:

root [2] .x tmp.C
.x tmp.C

reloading /home/rmason/Programming/rootmac/./ReadFile.C 0 reloading Riostream.h 0
reloading RConfig.h 0
reloading RVersion.h 0
reloading fstream.h 0
reloading iomanip.h 0

reloading /home/rmason/Programming/rootmac/./fitFunction.C  0
reloading /home/rmason/Programming/rootmac/./MySpectrum.C  0
reloading /home/rmason/Programming/rootmac/./WriteParams.C  0
reloading /home/rmason/Programming/rootmac/./ReadParams.C  0
reloading /home/rmason/Programming/rootmac/./Gui.C  0
reloading RQ_OBJECT.h 0
reloading Varargs.h 0
reloading stdarg.h 0
reloading /usr/local/lib/root/libASImage.so  0
reloading /home/rmason/Programming/rootmac/./CountLines.C  0
reloading /home/rmason/Programming/rootmac/./Gui.C  0
reloading RQ_OBJECT.h 0
reloading Varargs.h 0
reloading stdarg.h 0
reloading /usr/local/lib/root/libASImage.so  0
reloading /home/rmason/Programming/rootmac/./CountLines.C  0
reloading /home/rmason/Programming/rootmac/./fitFunction.C  0
reloading /home/rmason/Programming/rootmac/./MySpectrum.C  0
reloading /home/rmason/Programming/rootmac/./WriteParams.C  0
reloading /home/rmason/Programming/rootmac/./ReadParams.C  0

followed by:

root [3] gui();
gui();

I see:

Error in <TQObject::CheckConnectArgs>: slot MainFrame::DoOK() does not exist

and the exit button (which worked perfectly first time) does nothing and will not then function correctly until I stop and restart root.

This behaviour makes the edit - test cycle very tedious, because I must stop and restart root after every minor edit if I am to see cleanly the effects of the changes I made.

Is there something I'm doing wrong?

Thanks for any help you can give.

Roger Received on Fri Nov 18 2005 - 19:39:44 MET

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:13 MET