Switching off batch mode does not work?!

I am running a C++ program within a large framework. This framework calls my code, but I have no access to whatever happens outside of my own code. I link ROOT libraries into my code.
I try to open a canvas. First, this didn’t work because ROOT was set to batch mode (gROOT->IsBatch()==kTrue). But even if I call gROOT->SetBatch(kFalse) before I try to open the canvas, it does not work - although at least something is different:
now I get the following two messages:

Warning in TCanvas::ResizePad: c1 width changed from 0 to 10
Warning in TCanvas::ResizePad: c1 height changed from 0 to 10

I tried various TCanvas constructors. I checked that gApplication!=0. However, I have no access to whereever this TApplication is created, and I saw a discussion in this forum where someone mentioned that sometimes it is not possible to go back from batch mode to graphics mode. Is this true? If yes, why is this the case? If no, how can I do that?
I am using ROOT 3.05/00.

To run in graphics mode, you must create a TApplication (or TRint).
By default, if gApplication is null, the TCanvas constructor will create a batch application.


Hello Rene,
Thanks for the quick response! Unfortunately the default application is already created by something else in the code framework I am running in. At the beginning of my own code, the
gApplication already exists, and of course all the graphics libraries are not loaded. Is there no way to force an existing application into non-batch mode?