file.Map()  shows that object "eva" writing to file, but
directory, that contains "eva" not updated !
To fix problem you need read object "dir1" expicitly befor updating.
The modified version of your macro works (see below).
Best wishes, Nikolay.
On Tue, 14 Jul 1998 mayer@ik1.fzk.de wrote:
> Dear rooters.
> 
> 
> 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");
     TDirecrory *d = (TDirectory*)file.Get("dir1");
   // 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 exam.C 
TDirectory*             dir1    dir1
 KEY: TNamed    amo;1   amo
------file closed-------
TFile Writing Name=test.root Title=
TFile**         test.root
 TFile*         test.root
  TDirectory*           dir1    dir1
   KEY: TNamed  amo;1   amo
  KEY: TDirectory       dir1;1  dir1
  KEY: TNamed   eva;1   eva
------file closed-------
TFile**         test.root
 TFile*         test.root
  TDirectory*           dir1    dir1
   KEY: TNamed  amo;1   amo
  KEY: TDirectory       dir1;1  dir1
  KEY: TNamed   eva;1   eva
                               Nikolay Root
                               BINP, Novosibirsk
                               email : nroot@inp.nsk.su