[ROOT] Odd behaviour in root 3.03/09 when script loads

From: Ed Oltman (eoltman@imago.com)
Date: Sat Oct 26 2002 - 18:38:25 MEST


Hello,
 I have noticed an odd behavior in the root v3.03/09 on win2k:
Occasionally, when I run root and load in my main.cpp script,
I get strange errors [See below].  However, if I try to execute
the script again it works fine.  If I exit root (.q) and re-run
root and reload the same script, it still works fine.  I thought
it was just the first time after  I restart my computer but it
happens more frequently than that. It does not necessarly happen
when I open new DOS box - except  the first time after I restart
the computer...

Any ideas?  Thanks..

Ed Oltman



c:\analysis01>root
 the current keyboard layout is 437
  *******************************************
  *                                         *
  *        W E L C O M E  to  R O O T       *
  *                                         *
  *   Version   3.03/09 18 September 2002   *
  *                                         *
  *  You are welcome to visit our Web site  *
  *          http://root.cern.ch            *
  *                                         *
  *******************************************

Compiled for win32.

CINT/ROOT C/C++ Interpreter version 5.15.56, Sep 4 2002
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] .x main.cpp
Error: class,struct,union or type unknown not defined
FILE:C:\root/include\RtypesCint.h LINE:1
(unknown)121
*** Interpreter error recovered ***
root [1]

Also, here is my main.cpp file - its purpose is to load a dll.

c:\analysis01>type main.cpp
class CManage;
void main(char *fname="")
{
        gROOT->Reset();
        char path[256];

        // If fname is non-empty, use %rootsys%\analysis.dll
        //   otherwise use analysis.dll in current directory
        if (fname && *fname)
                sprintf(path,"%s\\Analysis.dll",gRootDir);
        else
                strcpy(path,"analysis.dll");
        gROOT->LoadMacro(path);
        CManage *m = new CManage();

        // if fname is non-empty, its an analyzed file - restore it...
        if (fname && *fname)
        {
                m->RestoreAnalyzed(fname);
                gAn->m_pResolution->Draw();
                gPad->GetCanvas()->Update();
        }
}



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:15 MET