Please let me repost my problem, because it is not due to using or not using
CINT extensions, and I hav'nt get an answer yet.
Once I've closed a root file, i'm not able to write again
into an already created directory. The newly written object appears
in memory but not on disk. After closing and reopening the file, it is lost.
ALso I cant delete an object after reopening the file. This also
happens with compiled code. This macro is only an example, because it
behaves in the same manner!
{
   gROOT.Reset();
   TFile file("test.root","recreate");
   gDirectory->mkdir("dir1");
   gDirectory->cd("dir1");
   named = new TNamed("amo","amo");
   named->Write("amo");
   gDirectory->ls();
   file->Write();
   file->Close();
   printf("------file closed-------\n");
   TFile file("test.root","update");
   gDirectory->cd("dir1");
   named = new TNamed("eva","eva");
   named->Write("eva");
   gDirectory->ls();
   file->Write();
   file->Close();
   printf("------file closed-------\n");
   TFile file("test.root","update");
   gDirectory->cd("dir1");
   gDirectory->ls();
}
and this is the output:
root [0] .x new.C
TDirectory*             dir1    dir1
 KEY: TNamed    amo;1   amo
TFile Writing Name=test.root Title=
------file closed-------
TDirectory*             dir1    dir1
 KEY: TNamed    amo;1   amo
 KEY: TNamed    eva;1   eva
TFile Writing Name=test.root Title=
------file closed-------
TDirectory*             dir1    dir1
 KEY: TNamed    amo;1   amo
root [1]
--------------------------------------------------
and eva is lost!
Thanks in advance
                  Hajo