I have built your example (with no TROOT. ROOT version 3 doesn't require this)
and it works with no problem.
Cheers, Valeri
-----
Dr.Valeri Fine
STAR/US Atlas E-mail: fine@bnl.gov
Brookhaven National Lab Phone: +1 631 344 7806
Upton, NY 11973-5000 FAX: +1 631 344 4206
USA
----- Original Message -----
From: "joe robe" <joer00@yahoo.com>
To: "Valeri Fine" <fine@bnl.gov>
Cc: <roottalk@pcroot.cern.ch>
Sent: Friday, January 18, 2002 11:31 AM
Subject: Re: [ROOT] non ROOT file an IsZombie problem
> Hello Valery,
>
> > The problem with your example is a simple one.
> > We can not reproduce it to investigate.
> >
> > The code you attached has no TIter and TFile dtor
> > has no TIter
> > either.
>
> Thats the strange think, so to simplify it I made a
> new (MSVC++) project with just 4 lines and the same
> CRASH !!
>
> The code is
>
> int main( int argc, char ** argv )
> {
> TROOT ROOT("ROOT", "ROOT Test");
> TFile File3("f:\\shittemp\\vokabeln.txt");
> if(File3.IsZombie())
> {
> printf("This file is not a valid ROOT file !");
> return 0; --> CRASH HERE !!
> }
> }
>
> The debugger than stops at the FIRST PUBLIC TIter
> constructor with *col beeing not an object
> (0xccccccccc). See below
>
>
>
> class TIter {
>
> private:
> TIterator *fIterator; //collection
> iterator
>
> protected:
> TIter() : fIterator(0) { }
>
> public:
> -->> Debugger points here TIter(const TCollection
> *col, Bool_t dir = kIterForward)
> : fIterator(col ? col->MakeIterator(dir) : 0)
> { }
> TIter(TIterator *it) : fIterator(it) { }
> TIter(const TIter &iter);
> TIter &operator=(const TIter &rhs);
> virtual ~TIter() { SafeDelete(fIterator)
> }
> TObject *operator()() { return fIterator
> ? fIterator->Next() : 0; }
> TObject *Next() { return fIterator ?
> fIterator->Next() : 0; }
> const TCollection *GetCollection() const { return
> fIterator ? fIterator->GetCollection() : 0; }
> Option_t *GetOption() const { return
> fIterator ? fIterator->GetOption() : ""; }
> void Reset() { if (fIterator)
> fIterator->Reset(); }
>
> ClassDef(TIter,0) //Iterator wrapper
> };
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Send FREE video emails in Yahoo! Mail!
> http://promo.yahoo.com/videomail/
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:38 MET